- 显存估计:每张卡16G的显存,一共4张,跑32的batch size,3*1024*1024的输入,densenet161,改classifier为14分类并sigmoid输出(多标签),导致显存不足,所以改成densenet121,可以,但是不能加载预训练模型,因为v100集群是不联网的
- 时间估计:我跑的是X-Chest-Ray 14的全集,取94999张作为训练集,17121张作为验证集,之前用9层的CNN试跑一下看看有没有bug都跑了一天一夜,所以差不多可以估计一下时间,是快不了的
- 预处理方差mean=[0.485, 0.456, 0.406]和方差std=[0.229, 0.224, 0.225]
- 一般来说只能申请一个结点的,因为只跑一个训练,只有一个任务,一个任务只能一个结点
- 先写好批处理文件run.sh
#!/bin/bash cd xxxx yhrun -n 1 -c 2 -p gpu_v100 python3 xxx.py | tee result.txt
用notepad++改成unix格式,然后调用yhbatch命令上传该sh文件(记得-p指定分区,我用的是v100,所以是gpu_v100),yhq命令查看作业队列,如果发现队列里没有自己的作业,说明跑完了,可能是有bug。只有跑完了,才会把输出写入文件xxx.out,所以只要用xft看到xxx.out的大小是0B,就说明还没跑完。
- 跑之前,要记得module load需要的环境,每次连接都要load一遍