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