diff --git a/助教手册.md b/助教手册.md index 09be1c7..12b6402 100644 --- a/助教手册.md +++ b/助教手册.md @@ -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的排行榜中。 \ No newline at end of file