×
分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

智能芯片开源软件赛道 | 初赛注意事项!!! 三叶虫2021-07-13 11:12:00 回复 9 查看 比赛信息
智能芯片开源软件赛道 | 初赛注意事项!!!
分享到:

比赛需PC端登录进行报名,点击直达报名链接

http://cqc.yeeol.com/cybs_home.html?id=10

亲爱的各参赛团队,大家好。“逐梦杯”中国青年科技创新大赛—智能芯片开源软件赛道,初赛环节以智能芯片平台和对应的软件栈为依托,诚邀大家进行深度学习算法的移植,与优化。

以下是初赛参赛注意事项

1.       初赛平台资源获取

a)      收取邮件

参赛者报名之后,在2天之内注意查收报名登记邮箱。

b)      本地ssh_config配置

ssh到智能计算平台之前可以先配置本地ssh_config文件,增加如下两行:

ServerAliveInterval 60

ServerAliveCountMax 3

可避免远程到平台之后窗口长时间没操作而自动断开连接。

c)       登录平台

可自行安装远程ssh终端工具,按照如下方式登录智能计算平台。

例:ssh root@ip -p port

【注】

1)可通过kill 1重置基础镜像容器;

2)如果sdk环境损坏,则可自行从/workspace/algorithm/sdk/拷贝到开发环境中;

3)请不要擅自更改登陆密码,否则会带来未知风险。

 

2.       平台目录结构介绍

a)      赛题路径

进入/workspace/algorithm浏览初赛题库,每道赛题有对应的权重,参赛者可自行选择想做的题,每个团队最终的得分为所选赛题得分的总和。初赛题库为只读模式,开发者自行选择赛题,拷贝至各团队的私有目录下进行开发

algorithm目录结构如下所示:

|-- algorithm

|   |-- 00_Yolov3_example

|   |-- 01_HCGNet_0.03

|   |-- 02_HRNet_0.03

|   |-- 03_InceptionV3_0.03

|   |-- 04_FPN_0.03

|   |-- 05_Deeplabv3_0.03

|   |-- 06_Unet_0.03

|   |-- 07_Resnet50dilated-ppm_deepsup_0.06

|   |-- 08_EfficientNet_0.03

|   |-- 09_Yolov5x_0.06

|   |-- 10_CenterNet_0.06

|   |-- 11_Cascade_Rcnn_0.06

|   |-- 12_ESPCN_0.06

|   |-- 13_Siamrpn_0.14

|   |-- 14_Detr_0.17

|   |-- 15_Cocosnet_0.18

|   |-- sdk(备份用)

 

b)      数据集路径

/workspace/dataset/public/zhumeng-dataset/内放置了所有必需的数据集。

数据集使用方式如下:

- 参赛者在精度及性能调试阶段,可以拷贝少量数据/workspace/volume/private/进行调试。

- 在最终精度验证与测试阶段,进行完整数据集的验证。

- 在最终性能验证与测试阶段,请参考对应赛题中的性能测试file_list

                     数据集目录如下所示:

|dataset/

|`-- public

|    `-- zhumeng-dataset

|        |-- ADEChallengeData2016

|        |-- BSDS500

|        |-- README.md

|        |-- VOT18

|        |-- ade20k

|        |-- cityscape

|        |-- coco_2014

|        |-- coco_2017

|        |-- imagenet_val_subdir

|        |-- imagenet_val_subdir_performance

|        `-- images_for_FID

c)       私有开发环境

/workspace/volume/private为各参赛队的私有目录,该目录可读可写,空间50G。参赛者将所选赛题拷贝到私有目录下进行开发(注意,不要修改每个赛题文件夹命名)

私有目录结构如下所示:

|`-- volume                

|    `-- private

|    |-- 00_Yolov3_example              # demo供参赛者参考

|    |   |-- model

|    |   |-- offline

|    |   |-- result                       # 用于提交,每个赛题必备文件,包含精度测试和性能测试的脚本

|    |   `-- online

|    |-- sdk                            # pytorch框架源码、CNPlugin源码、虚拟环境venv,供参赛者开发

|    |   |-- Cambricon-CNPlugin-MLU270

|    |   |-- cambricon_pytorch

|    |   `-- venv

|    `-- submit_job                      # 提交测试任务的工具,不能擅自修改

```


 

d)      cambricon_pytorch

cambricon_pytorch目录下,包含软件栈(neuware)pytorch框架源码,供参赛者调试及编译。

neuware包括后续会用到的算子库,调试工具等。

cambricon_pytorch目录结构如下所示:

|-- cambricon_pytorch

|   |-- configure_pytorch.sh

|   |-- env_pytorch.sh

|   |-- neuware

|   |   |-- LICENSE

|   |   |-- README

|   |   |-- bin

|   |   |-- cmake

|   |   |-- data

|   |   |-- include

|   |   |-- lib

|   |   |-- lib64

|   |   |-- samples

|   |   |-- tools

|   |   `-- version.txt

|   |-- pytorch

|   |   |-- include

|   |   |-- lib

|   |   |-- models

|   |   |-- src

|   |   `-- tools

|   `-- run_pytorch.sh

 

3.       调试与开发环境

a)      配置环境

声明环境变量及进入虚拟环境

                       cd /workspace/volume/private/sdk/cambricon_pytorch

                       source env_pytorch.sh

           若需要多人同时开发,为了避免环境冲突,各队员可将venv复制多个供多人使用,复制方法如下:

                      cp /workspace/volume/private/sdk/venv/ /workspace/volume/private/sdk/venv_1

               修改env_pytorch.sh:

                       source $PWD/../venv/pytorch/bin/activate

                       替换为source $PWD/../venv_1/pytorch/bin/activate

               source env_pytorch.sh

 

b)      查看加速卡状态

在平台上执行cnmon即可查看加速的运行状态(详见Cambricon-CNMON-User-Guide-CN)。

 


4.       精度与性能测试

a)      提交测试工具

/workspace/volume/private/submit_job/下的submit-job.py脚本将被用来提交测试任务,该脚本不可更改。

 

b)      准备测试脚本

每个赛题目录下自建result文件夹,用于提交测试任务,文件名必须按照以下格式命名:(详见00_Yolov3_example参考示例

      result

      |-- run_accuracy.sh

      `-- run_performance.sh

      【注】脚本名称不得修改,否则有无法记录成绩的风险

            submit-job.py需要在虚拟环境中执行

同时请在run_***.sh脚本中开始处添加以下代码:

cd /workspace/volume/private/sdk/cambricon_pytorch/

source env_pytorch.sh

cd -

         可参考00_Yolov3_example/result/run_performance.sh脚本

 

c)       提交测试及返回结果

确保在本地开发环境中 `/workspace/volume/private/******/result/run_***.sh` 能够正确运行,测试环境须保证与开发环境一致,如有在开发环境中额外apt install安装的环境,则需要在脚本中添加安装的命令。

进入虚拟环境后,执行submit-job.py文件

测试精度或性能命令如下:

python submit-job.py submit --test_mode performance --subject_name 00_Yolov3_example

参数说明:

--subject_name  # 赛题名称

--test_mode     # 精度测试或性能测试

 

测试任务启动后会自动打印当前任务状态(QueuingRunningSucceeded);

输出日志将会保存至/workspace/volume/private/submit_job文件夹下;

测试任务完成后程序将会自动退出;

如何查看卡的运行状态:

                       watch -n 0.5 cat /workspace/volume/private/submit_job/cnmon.log

如何查看log

                       python submit-job.py list          #查看容器id,可依据时间找到容器对应的id

                       python submit-job.py log --id=xxx  #查看log信息

 

d)      测试任务可操作项

在提交任务执行的时候可以按 ctrl+c 停止跟踪任务状态和日志,但该任务仍执会行

通过 `python3 /workspace/volume/private/submit_job/submit-job.py list` 查询任务状态

如果需要停止任务,可以输入命令:

`python3 /workspace/volume/private/submit_job/submit-job.py stop --id <任务 ID>`

如果需要删除任务,可以输入命令:

`python3 /workspace/volume/private/submit_job/submit-job.py delete --id <任务 ID>`

5.       测试标准

a)      精度验证

初赛的评比要求在数据集实测精度满足官方标准精度的误差范围内,进行性能的比较。因此,参赛者首先需要进行精度验证。相关误差范围在每道赛题目录下readme中已进行详细说明。各类模型评价指标如下:

分类模型精度评价指标:

      用户需要输出:

      TOP1=xxx

      TOP5=xxx

      涉及模型如下:

            01_HCGNet_0.03

            02_HRNet_0.03

            03_InceptionV3_0.03

            08_EfficientNet_0.03

 

分割模型精度评价指标:

      DICE=xxx

      涉及模型如下:

            04_FPN_0.03

            06_Unet_0.03

 

分割模型精度评价指标:

      MEAN_IOU=xxx

      涉及模型如下:

            05_Deeplabv3_0.03

            07_Resnet50dilated-ppm_deepsup_0.06

 

检测模型精度评价指标:

      AP=xxx

      涉及模型如下:

            09_Yolov5x_0.06

            10_CenterNet_0.06

            11_Cascade_Rcnn_0.06

            14_Detr_0.17

 

超分模型精度评价指标:

      MEAN_PSNR=xxx

      涉及模型如下:

            12_ESPCN_0.06

 

跟踪模型精度评价指标:

      ACCURACY=xxx

      涉及模型如下:

            13_Siamrpn_0.14

 

图像翻译模型精度评价指标:

      FID=xxx

      涉及模型如下:

            15_Cocosnet_0.18

 

b)      性能测试标准

性能测试指标:吞吐(throughput)

Throughput(fps)=xxx

所有模型的性能指标均需要按照以上格式输出。

性能测试方法:

统计移植后的模型,在性能测试数据集(file_list)上运行的端到端时间,包括前处理、推理、后处理三个部分,用性能测试的图片数除以时间,以计算吞吐(Throughput)。

初赛须知1.png

demo为例:

初赛须知-图.png


 


初赛打榜评比详情可持续关注本论坛以及社区赛事专区的通知:

官方社区—赛事专区:https://competition.cambricon.com/ 


敬请期待!

版权所有 © 2021 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭