gluon-cv是一个计算机视觉SOTA模型的一些实现,可以利用这个项目更快捷的跑实验,仅需要提供几个参数,就可以跑他所实现的模型.
仅用于过程记录,以便之后忘了可以查看.
https://cv.gluon.ai/ 官网给出了很详细的教程,这也是我选择使用他的原因之一.基本上按照教程指示安装就好.
本次实验,跑的是教程中的: https://cv.gluon.ai/build/examples_action_recognition/dive_deep_tsn_ucf101.html
python train_recognizer.py --model vgg16_ucf101 --num-classes 101 --num-gpus 1 --lr-mode step --lr 0.001 --lr-decay 0.1 --lr-decay-epoch 30,60,80 --num-epochs 80
用命令行,简单描述下各个参数,默认的数据集就是ucf101,所以这里没写.
--model指示预训练模型;
--num-classes:类别数目
--num-gpus:gpu数目
--lr-mode:learning rate的模式
--lr:学习率
--lr-decay:lr的衰减率
--num-epochs:epoch
在这之前,我们需要把数据准备好(我是先准备好的数据,所以不知道代码中是否提供了自动下载数据并处理的功能)
python scripts/datasets/ucf101.py
执行这个文件,把数据集处理好,它默认的目录均在 ~/.mxnet/下面,就是自己的home目录下面的.mxnet下,加载数据集时会从~/.mxnet/datasets里面找,保存的模型会放在~/.mxnet/models下面......
向集群提交任务时,要加上用到的环境:
#SBATCH -J ---zzq--- #SBATCH -p defq #SBATCH -N 1 #SBATCH --cpus-per-task=8 #SBATCH --gres=gpu:1 tmpFolder="/ssd/$SLURM_JOB_USER/$SLURM_JOB_ID" module add cuda10.0/ module add cudnn7.6-cuda10.2/ module add nccl2-cuda10.2-gcc/ python train_recognizer.py --model vgg16_ucf101 --num-classes 101 --num-gpus 1 --lr-mode step --lr 0.001 --lr-decay 0.1 --lr-decay-epoch 30,60,80 --num-epochs 80
你也可以在提交之前加载,不过很麻烦.
还有遇到的一个小bug, 对于'~'这个目录,linux下默认的就是用户目录, cd ~ 就会进入我的用户根目录,但是python中需要对目录path加上这么一句:
1 os.path.expanduser(path)
才会进入真正的用户目录下.