vid2vid 代码调试+训练+测试(debug+train+test)(三)在自己的数据集上训练

 话不多说,上代码。

# train on 256_g1

$ python train.py --name <任务名>_256_g1 --input_nc 3 --loadSize 256 --n_downsample_G 2 --num_D 1 --max_frames_per_gpu 4 --n_frames_total 15 --dataroot datasets/<我的数据集>/ --save_epoch_freq 10 --gpu_ids=2

# train on 512_g1

$ python train.py --name <任务名>_512_g1 --input_nc 3 --loadSize 512 --n_scales_spatial 2  --n_downsample_G 2 --max_frames_per_gpu 1 --n_frames_total 4 --niter_step 2 --niter_fix_global 8 --niter_decay 5 --load_pretrain checkpoints/<任务名>_256_g1 --dataroot datasets/<我的数据集>/ --save_epoch_freq 10 --gpu_ids 2

# train on 1024_g1

$ python train.py --name <任务名>_1024_g1 --input_nc 3 --loadSize 896 --n_scales_spatial 3 --n_frames_D 2 --n_downsample_G 2 --num_D 3 --max_frames_per_gpu 1 --n_frames_total 4 --niter_step 2 --niter_fix_global 8 --niter_decay 5 --load_pretrain checkpoints/<任务名>_512_g1 --lr 0.0001 --dataroot datasets/<我的数据集>/ --save_epoch_freq 8 --gpu_ids 2

# test

# test on 512_g1
$ python test.py --name <任务名>_512_g1 --input_nc 3 --loadSize 512 --n_scales_spatial 2 --n_downsample_G 2  --gpu_ids=3 --dataroot datasets/<我的数据集>/ --no_first_img

# test on 1024_g1
$ python test.py --name <任务名>_1024_g1 --input_nc 3 --loadSize 1024 --n_scales_spatial 3 --n_downsample_G 2  --gpu_ids 2 --dataroot datasets/<我的数据集>/ --no_first_img

备注:

1)我们是在单个GPU上做的训练;

2)命令需要按顺序执行;

3)数据集的准备参照street的格式;

4)训练1024的时候,如果卡是11G的,第二次更新训练参数的时候可能会内存溢出,不过只要设置“save_epoch_freq”小一些使它至少可以保留一次即可(不过训练结果不能保证);

5)内表示这一部分需要自定义,完了后不需要带尖括号。

""" Dataset 结构图 """
"""
datasets/my_dataset_name
    ├── train_A
    │   ├── seq_000000 
    │   ├── seq_000001
    │   └── ...
    │   
    ├── train_B
    │   ├── seq_000000 
    │   ├── seq_000001
    │   └── ...
    │
    ├── test_A
    │   ├── seq_000000 
    │   ├── seq_000001
    │   └── ...
    │   
    └── test_B
        ├── seq_000000 
        ├── seq_000001
        └── ...
"""

 至此,对vid2vid的研究告一段落,下阶段的研究可以与其作对比实验了!

祝君安!

你可能感兴趣的:(与巨人比肩)