前言
主要用作毕设的学习过程记录
一、更改模型路径和标签路径。
修改在yolo.py文件下的model_path和classes_path。
model_path指向新训练出来的模型pth文件,classes_path指向我们在前面模型训练时train.py中修改过的classes_path指向的那个文件。
修改后的路径如下:
二、进行预测
1.调用predict.py文件预测
运行结果如下:
有一些识别错误,但以一千数据量10层训练的效果来说还算满意。
三、一些额外的内容
输入的文件大小可以修改
此处的model_image_size代表输入到网络中的图片的大小,可以在416,416到608,608之间修改。置信度confidence可以修改成0.7,0.3等。cuda如果电脑没有gpu,可以改成false只采用cpu进行预测。
直接训练的结果会无法在本地调用
model_data/Epoch100.pth is a zip archive (did you mean to use torch.jit.load
报错同上,原因是云主机的torch是1.9版本,在1.6以后的版本后,torch的保存模型方法已经改变,而本地的版本是1.2.0。因此如果想要在本地使用,有两种方法:①保存时设置不使用新版模型保存方法②将训练好的模型在云主机读取并转换成旧版保存格式。
①:在train.py中找到torch.save这一行,加入参数use_new_zipfile_serialization=False。
②在云主机的目录下新建py文件,输入以下代码
import torch
state_dict = torch.load("zancun/Epoch25-Total_Loss3.3204-Val_Loss3.0028.pth") #这里输入的是训练完的模型
torch.save(state_dict, "Epoch25-Total_Loss3.3204-Val_Loss3.0028.pth", _use_new_zipfile_serialization=False)#这里进行转换后保存到change.py的当前目录下