注意:我们在代码中使用了argparse库,所以命令是下面这种形式:
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3
首先在xshell中连接服务器,激活pytorch环境,输入ls查看目录,通过cd命令进入对应文件夹,我是进入存放main.py的文件夹下。
接着输入命令创建sh文件(code是我命名的,可以自己更改):
touch code.sh
然后在xftp中用记事本打开编辑:
方法一,顺序执行
每行命令后不能有空格
例如python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3后不能有空格
#!/bin/bash
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="Partial" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="BN" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="PA" --matcher="NAC" --lr=1e-4
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="Full" --matcher="NAC" --lr=1e-4
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="Partial" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="BN" --matcher="NAC" --lr=1e-3
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="PA" --matcher="NAC" --lr=1e-4
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="Full" --matcher="NAC" --lr=1e-4
方法二,同时执行
每行命令空格后加&
#!/bin/bash
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3 &
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="Partial" --matcher="NAC" --lr=1e-3 &
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="BN" --matcher="NAC" --lr=1e-3 &
python main.py --dataset="CASIA" --encoder="Res50" --classifier_init="WI" --finetune_layers="None" --matcher="NAC" --lr=1e-3 &
python main.py --dataset="CASIA" --encoder="VGG19" --classifier_init="WI" --finetune_layers="BN" --matcher="NAC" --lr=1e-3
编辑好后保存
然后安装dos2unix转换脚本文件(如果没有权限安装不成功,也能使用,只是会有一个可以忽略的报错):
sudo apt-get install dos2unix
dos2unix code.sh
最后授予权限,运行即可!
chmod +x code.sh
sh code.sh
题外话:
如果使用学校集群,可以通过nvidia-smi查看使用情况,可以通过CUDA_VISIBLE_DEVICES=1 sh auto-code.sh更换gpu节点,1是gpu节点号