Ver código fonte

更新 '助教手册.md'

master
陆雪松 2 anos atrás
pai
commit
d23fd48a1a
1 arquivos alterados com 275 adições e 63 exclusões
  1. +275
    -63
      助教手册.md

+ 275
- 63
助教手册.md Ver arquivo

@ -6,162 +6,374 @@
## 一、创建作业
### 作业描述部分
### 1.1 作业描述部分
该部分将详细介绍表单中每个字段的含义,以及应该如何填写。
![avatar](figure/1.png)
<kbd>
<img src="figure/1.png" alt="drawing" width="800"/>
</kbd>
**作业名称——中文名**:对应作业名。
**作业名称——英文名**:提交表单后生成的**zip压缩包名称**。
**图标**:如不上传,将使用默认的logo作为作业logo。(仅支持常用图片格式)
### Web Page部分
![avatar](figure/2.png)
![avatar](figure/3.png)
### 1.2 Web Page部分
<kbd>
<img src="figure/2.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/3.png" alt="drawing" width="800"/>
</kbd>
**概述,数据描述,评估,限制条件**使用的是富文本编辑器,可以对文本框中的内容进行加粗,斜体,调整字体大小,上色等操作。
![avatar](figure/4.png)
<kbd>
<img src="figure/4.png" alt="drawing" width="800"/>
</kbd>
这些文本框的内容将会以**html**的形式展现在生成的作业界面上。对应关系为:
**概述**对应——**Overview**;**评估**对应——**Evaluation**;**限制条件**对应——**Terms and Condictions**;**数据描述**对应——**Get Data**。下图用红框圈出。
![avatar](figure/5.png)
![avatar](figure/6.png)
### 多阶段部分
**概述**对应——**Overview**;
**评估**对应——**Evaluation**;
**限制条件**对应——**Terms and Condictions**;
**数据描述**对应——**Get Data**。
下图用红框圈出。
<kbd>
<img src="figure/5.png" alt="drawing" width="800"/>
</kbd>
### 1.3 多阶段部分
设置了多阶段机制,允许一次作业分多个阶段提交。
**(解释:多个阶段可以理解为一次作业的两个部分,例如实现svm/决策树分别完成同一个分类任务,将会对应两个leaderboard)**
![avatar](figure/7.png)
<kbd>
<img src="figure/7.png" alt="drawing" width="800"/>
</kbd>
**每日最高提交数**:该作业允许每日最高的提交数。
**最高提交数**:该作业开始到结束期间允许的提交数之和。
**阶段数量**:填写该作业分为几个阶段。填写完以后点击确认,会自动生成相应数量的阶段填写框。
![avatar](figure/8.png)
<kbd>
<img src="figure/8.png" alt="drawing" width="800"/>
</kbd>
点击确认后,会出现对应数量的阶段内容框,每个阶段需要填写:
**代码评测文件**:.py格式,助教自定义填写,如需参考可点击超链接。
**作业的参考预测文件**:助教上传用于评测的正确结果文件。
**每个阶段的开始时间**:当前阶段学生可以提交文件的开始时间。
![avatar](figure/9.png)
<kbd>
<img src="figure/9.png" alt="drawing" width="800"/>
</kbd>
生成的作业将会分为多个阶段。点击每个阶段,可以提交对应阶段需要上传的文件。
**对于评测示例文件的补充说明**:
**文件定位**:若交由本系统进行评测,该段代码无需改动。若在本地测试,则直接修改路径即可。
![avatar](figure/10.png)
<kbd>
<img src="figure/10.png" alt="drawing" width="800"/>
</kbd>
**文件读取**:需要读取学生结果(prediction.txt)和参考结果(true.txt),注意学生结果文件的命名应要求学生固定命名(可在Jupyter模板文件中写好),参考结果文件命名在作业创建中上传的文件名一致。
![avatar](figure/11.png)
![avatar](figure/12.png)
![avatar](figure/13.png)
<kbd>
<img src="figure/11.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/12.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/13.png" alt="drawing" width="800"/>
</kbd>
两个文件里的数据内容格式应保持一致,通过修改自定义的read_txt函数来读取不同的格式。
![avatar](figure/14.png)
<kbd>
<img src="figure/14.png" alt="drawing" width="800"/>
</kbd>
**结果评测**:编写自定义的calculate_metric函数以满足不同的指标评测。(如果需要得到多个指标的结果,可自行丰富,得到多个score),以下为计算准确率的示例。
![avatar](figure/15.png)
![avatar](figure/16.png)
<kbd>
<img src="figure/15.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/16.png" alt="drawing" width="800"/>
</kbd>
**结果输出**:输出文件要求写入规定名为(scores.txt)的文件,不能修改。输出文件的每一行代表对应的一个指标的分数结果,指标名、和小数点位数应与作业创建leaderboard处的填写内容一致。
![avatar](figure/17.png)
![avatar](figure/18.png)
<kbd>
<img src="figure/17.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/18.png" alt="drawing" width="800"/>
</kbd>
**请助教在写完Evaluate.py后先在本地试运行,输出文件结果无误后再进行上传!**
### 排行榜部分
![avatar](figure/19.png)
### 1.4 排行榜部分
<kbd>
<img src="figure/19.png" alt="drawing" width="800"/>
</kbd>
**评估指标个数**:填写作业提交的评估指标个数,有的作业可能需要不只一个评估指标。填写评估指标个数将生成下图所示的指标框。
**评估标签**:填写评估标签名,如ACC,Precision,Recall等。
**数据格式**:保留几位小数。
**排序**:指标排序是升序还是降序。只能填**asc或desc**。
### 其他
![avatar](figure/20.png)
### 1.5 其他
<kbd>
<img src="figure/20.png" alt="drawing" width="800"/>
</kbd>
**作业权限**:选择作业参与是否需要助教同意。如选择是,则参与作业需要助教后台审批,如选择否,则申请参与作业后自动通过请求。
开始时间,截至时间:填写作业开始和结束的时间。
![avatar](figure/21.png)
<kbd>
<img src="figure/21.png" alt="drawing" width="800"/>
</kbd>
点击生成zip文件,将生成一个zip压缩包,点击上图中蓝色超链接生成压缩包。(**表单中除了图标可以不填,其余所有均为必填选项。**)
下载得到压缩包以后,点击上传zip文件,将生成一个新的作业。(**压缩包文件名不能含中文,空格等。**)
![avatar](figure/22.png)
<kbd>
<img src="figure/22.png" alt="drawing" width="800"/>
</kbd>
上传成功后,可以点击蓝色view超链接,查看具体作业信息。
## 编辑作业
## 二、编辑作业
如果需要编辑,在作业详情界面中点击选项——编辑。
![avatar](figure/23.png)
<kbd>
<img src="figure/23.png" alt="drawing" width="800"/>
</kbd>
备注:编辑页面表单数量较多,此处只挑选助教有可能修改的部分做详细讲述,如需更深层次的编辑,请参考
https://github.com/codalab/codalab-competitions/wiki/Organizer_Codalab-competition-YAML-definition-language
修改字段内容。
### 作业描述部分
![avatar](figure/25.png)
### 2.1 作业描述部分
<kbd>
<img src="figure/25.png" alt="drawing" width="800"/>
</kbd>
参考第一部分创建作业的作业描述部分。
**Title**对应——**作业的中文名**。
**Description**对应——**描述**。
## Web Page部分
![avatar](figure/26.png)
### 2.2 Web Page部分
<kbd>
<img src="figure/26.png" alt="drawing" width="800"/>
</kbd>
编辑Web Pages,对应关系如一中Web Pages部分。
### 多阶段部分
![avatar](figure/27.png)
### 2.3 多阶段部分
<kbd>
<img src="figure/27.png" alt="drawing" width="800"/>
</kbd>
**Start Date(UTC)**:修改每个phase的开始时间。
**Maximum Submissions(per User)**:修改作业最多允许的提交数之和。
**Max Submissions(per User) per day**:修改作业每人每天最多允许的提交数。
### 排行榜部分
![avatar](figure/28.png)
![avatar](figure/29.png)
### 2.4 排行榜部分
<kbd>
<img src="figure/28.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/29.png" alt="drawing" width="800"/>
</kbd>
**Key Label**必须**相同**,对应——**评估标签**。
**Numberic format**对应——**数据格式**。
**Sorting**对应——**排序**
### 其他
![avatar](figure/30.png)
### 2.5 其他
<kbd>
<img src="figure/30.png" alt="drawing" width="800"/>
</kbd>
**Organizers need to approve the new teams**对应——第一部分中的作业权限。
A**nonymous leaderboard**——排行榜用户名是否匿名
![avatar](figure/32.png)
**Anonymous leaderboard**——排行榜用户名是否匿名
<kbd>
<img src="figure/32.png" alt="drawing" width="800"/>
</kbd>
**Disallow leaderboard modifying**——提交是否可以被修改
**Force submission to leaderboard**——学生是否需要人工提交结果
![avatar](figure/33.png)
<kbd>
<img src="figure/33.png" alt="drawing" width="800"/>
</kbd>
**Registration Required**——学生是否需要经过助教同意才能参与作业
![avatar](figure/34.png)
<kbd>
<img src="figure/34.png" alt="drawing" width="800"/>
</kbd>
如果提交的结果比过去成绩好,则自动将当前结果提交到排行榜
## 上传数据集
## 三、上传数据集
点击上传数据集按钮打开面板
![avatar](figure/35.png)
![avatar](figure/36.png)
<kbd>
<img src="figure/35.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/36.png" alt="drawing" width="800"/>
</kbd>
点击选择文件选择数据集压缩包,然后点击提交按钮进行提交。
提交按钮下方会显示上传进度,提交完成后会有对话框提示完成。
![avatar](figure/37.png)
<kbd>
<img src="figure/37.png" alt="drawing" width="800"/>
</kbd>
数据集格式说明:
文件中需要包含input文件夹,其中放置数据集,可以有一个模板性的notebook文件
参考格式如下:
![avatar](figure/38.png)
<kbd>
<img src="figure/38.png" alt="drawing" width="800"/>
</kbd>
需要注意的是,压缩时需要选中这一级目录下所有文件及文件夹进行压缩,而不是对上一级目录进行压缩
上传后,学生视角的目录如下图所示:
![avatar](figure/39.png)
<kbd>
<img src="figure/39.png" alt="drawing" width="800"/>
</kbd>
其中read_only_sample文件为只读文件,作为备份
多阶段提交需要注意,需要额外加一个output文件夹,该目录下的结构如下图所示:
![avatar](figure/40.png)
![avatar](figure/41.png)
<kbd>
<img src="figure/40.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/41.png" alt="drawing" width="800"/>
</kbd>
有几个阶段就添加多少个phase_x文件夹。phase_x文件夹用于保存学生对应第x阶段代码输出结果。
## 四、重置数据集
点击重置Jupyter按钮,可以将该作业对应的notebook删除,学生打开notebook时会以最新上传的数据集作为模板。
![avatar](figure/42.png)
<kbd>
<img src="figure/42.png" alt="drawing" width="800"/>
</kbd>
使用情形:上传数据集有误需要更新时,已有学生打开了notebook,重新上传数据集不会更新已打开notebook的文件,需要点击该按钮解决。
![avatar](figure/43.png)
![avatar](figure/44.png)
<kbd>
<img src="figure/43.png" alt="drawing" width="800"/>
</kbd>
<kbd>
<img src="figure/44.png" alt="drawing" width="800"/>
</kbd>
## 五、下载学生代码
![avatar](figure/45.png)
<kbd>
<img src="figure/45.png" alt="drawing" width="800"/>
</kbd>
点击学生代码按钮即可下载
![avatar](figure/46.png)
<kbd>
<img src="figure/46.png" alt="drawing" width="800"/>
</kbd>
可以下载所有学生的代码,学生文件以学号命名
![avatar](figure/47.png)
<kbd>
<img src="figure/47.png" alt="drawing" width="800"/>
</kbd>
学生编写的notebook文件或py文件都会在对应目录下。
## 六、模板notebook文件说明
模板文件中包含三块内容:
1.具体题目的程序逻辑
![avatar](figure/48.png)
<kbd>
<img src="figure/48.png" alt="drawing" width="800"/>
</kbd>
2.输出程序,output_string存储程序输出结果, phase_id为阶段id,每个阶段的程序输出分开存放
![avatar](figure/49.png)
<kbd>
<img src="figure/49.png" alt="drawing" width="800"/>
</kbd>
3.打包程序
![avatar](figure/50.png)
<kbd>
<img src="figure/50.png" alt="drawing" width="800"/>
</kbd>
需要改变的主要是第一部分,后两部分为固定代码,使学生按照系统规定地输出结果和打包结果。
![avatar](figure/51.png)
<kbd>
<img src="figure/51.png" alt="drawing" width="800"/>
</kbd>
点击submit按钮可以将prediction_phase_1.zip提交到phase1的排行榜中。

Carregando…
Cancelar
Salvar