- 用制作好的数据集训练训练,命令的书写,我选择的事DeepLabV3模型的ResNet50网络,其他的参数根据自己的需要进行修改。
python3 train.py --num_epoch 200 --checkpoint_step 5 --validation_step 1 --dataset Paper_Road --crop_width 112 --crop_height 56 --batch_size 1 --num_val_images 240 --h_flip 1 --v_flip 0 --model DeepLabV3 --frontend ResNet50
DeepLabV3.py程序中需要对网络进行修改如下图
图中的fronted的参数改成自己选择的网络,我改成了Res50。
- 训练完毕得到一组权重,用权重进行测试,命令如下
python3 predict.py --image 1.png --checkpoint_path ./checkpoints/0198/model.ckpt --crop_height 56 --crop_width 112 --dataset Paper_Road --model DeepLabV3
运行后发现报错如下图
检查发现程序默认的网络是ResNet101,所以你用ResNet50训练出来的权重并不能被ResNet101网络所用,所以阅读预测程序predict.py发现需要修改,如下图
程序中调用了model_builder.py中的build_model函数,找到该函数如下图
程序中发现默认网络为ResNet101所以改成自己的网络据可以了,我的是ResNet50,所以改成ResNet50就可以了再次运行程序测试成功