首先通过命令训练模型,200个epoch,我的设置是batch_size=16,gpu_id=1。
我改了script.py中的gpu_id=1,但是运行的时候发现虽然只占了卡1的内存,还是四张卡都用了,可能没有生效。
于是改为临时设置环境变量:
nohup python -m visdom.server > visdom.out 2>&1 &
export CUDA_VISIBLE_DEVICES=1
nohup python scripts.script.py > trainGAN.out 2>&1 &
(第一行我只能在root下执行,否则会permission denied。后两行改为自己用户)
再查看时,就只有在卡1跑了。
batch_size=16是我依次从2,4,8,16加上来的,根据卡1的内存,当设置为16时,内存利用比较合理,到11000左右。
训练应该是一个晚上左右,时间没有记录。
训练结束后,在/checkpoints/enlightengan中能看到200个epoch中,每个epoch的网络权重。在web中还可视化了200次的训练过程。
测试:
下载数据集(或者使用其他数据集),保存到../test_dataset/testA中。(test_dataset与final_dataset在同一级目录下)
注:1.testA中直接放图片,不新建二级文件夹。2.在testB随便放一张图片,否则程序报错。
<