Freespace服务器预训练主要步骤:
- 首先登录堡垒机,命令如下:
ssh xxx@relay.baidu-int.com (xxx为个人邮箱前缀)
密码为个人邮箱密码
- 登录工作机,命令如下:
ssh l3@yq01-gpu-255-122-22-00.epc.baidu.com
密码为:l3
- 在工作机上找到freespace网络的训练源码及脚本(该版本为验证成功版本),原始路径为/home/l3/chenghongkuan/freespace/perception-tnt8.2, 在根目录下新建一个自己的目录,如,并将原始路径下的内容拷贝到个人目录下。
- 集群环境配置
- slurm客户端工具拷贝:工作机slurm客户端工具已安装,位置为,可以直接将该部分内容copy到自己的目录下:
- Token申请:在自己的客户端目录下,执行以下命令完成个人token的申请,会收到邮件,注意查收:
- Token配置:执行以下命令完成个人token的配置,其中ak以及sk可以在申请时收到的邮件中查到,配置成功会收到邮件,
- 训练任务提交:该部分暂时先按最简单的方式来操作,操作如下
- 在自己的训练路径下,找到submit.sh, 修改submit.sh中的HGclient的地址,改为自己目录:
-
- 在自己的训练路径下,找到train.sh,可以将job_name改为自己定义的名字;
- 在自己的训练路径下,找到freespace.yaml,检查DATASET:TRAINING:DATA_MODULE是否为apps.freespace.src.data.sfs_v3.SFSDataset,检查MODEL:BACKBONE:CONV_BODY是否为SfsVps;
- 在自己的训练路径下,找到train.sh,并执行sh train.sh,将训练任务提交到远程集群进行训练,如果训练任务提交成功则会有如下打印信息:
阡陌控制台也会查到当前提的任务,界面如下:
- 训练模型获取:在阡陌服务器页面中“我的作业”中找到本次训练的任务,然后点击“查看overview”
,进入Log Agent界面,点击“output”,选中模型,点击“download”进行模型下载,
Freespace量化参数提取主要步骤:
- 将预训练出的模型如model_0530000.pth拷贝到目录perception-tnt/tnt/entries/output/下。
- 修改perception-tnt目录下的freespace.yaml,修改如下:
将注释打开,并且,修改WEIGHT文件为新生成的模型文件,如/tnt/entries/output/model_0530000.pth;
- 修改perception-tnt/tnt/entries/目录下的train_net.py,修改如下:
将此段do_train代码注释掉;
- 在perception-tnt/tnt/entries/目录下执行python train_net.py --config-file ../../freespace.yaml --compress-file ../../ apps/freespace/config/compressor_config.yaml --skip-test 0 ,执行完后会在perception-tnt/tnt/entries/output/目录下生成quantization_stats.yaml。
Freespace服务器重训练主要步骤:
- 下载最新的perception-tnt源码到工作机,分支切换为dev_fpga_v3
- 修改freespace.yaml中的内容如下所示:
将中的sfs_swapchannel 改成 sfs_v3,中的SfsVps改为SfsVpsV3;
- 将模型文件以及量化参数文件quantization_stats.yaml拷贝到/tnt/entries/output/目录下。
- 将BASE_LR设置为原来训练好网络最后的LR,如果之前的记录丢失,可以将该值设置的小一点;
- 按照预训练步骤5,6进行训练以及模型获取。
相关资料及重要信息:
- 服务器训练总体参考,可以看http://icode.baidu.com/repos/baidu/adu-lab/perception-tnt/blob/master:README.md 中的下图部分:
- SLURM客户端的安装与配置,可以参考wiki:
http://wiki.baidu.com/pages/viewpage.action?pageId=365141511
当前客户端工具已经在工作机安装完成,剩下的主要工作是token的申请与配置部分
- 训练所需要的GPU集群可以在http://newqianmo.baidu.com/index.jsp#/user/gpu?status=RUNNING&_k=j0cckg 查找到,相关同学应该有相关权限,如下图所示
- 查看提交的训练任务详情:
- 撤回提交的训练任务: