不清楚如何制作训练集的请看上一篇博文
本文所用的模型代码:https://github.com/yassouali/pytorch_segmentation
将整理的好的训练集放入原voc文件中进行替换,或者更改confi.son文件中的数据读取路径
training
先修改config.json文件(不清楚的可以翻我之前的博客,写的很详细)
python train.py --config.json
如果遇到路径错误检查文件扩展名的大小写是否为小写
修改文件名的代码如下:
import os,re
path = 'E:/gesaer/gesaer_data/tangka'
filelist = os.listdir(path)
for file in filelist:
oldname = path + os.sep +file
newname = path +os.sep +file.replace('JPG','jpg')
os.rename(oldname,newname)
print(oldname,'======>',newname)
如果依然报错,你可以把这个文件路径,复制到资源管理器的地址栏过去直接打开试试,也想是文件夹的名字错了
当你数据集是单数的,你可能会报如下错误:
解决办法:从train.txt中删去一条记录,同时调整你的batch_size,调能被数据集整除,但是不能调到1,否则就不是训到最后一张报错,而是一开始就报错,像这样
最后,在voc.py文件中修改标签类别,根据自己的数据集修改
测试
python inference.py --config config.json --model saved/DeepLab/09-30_16-22/checkpoint-epoch140.pth --images ./images
测试jie结果在outputs文件下