下载源:https://github.com/ultralytics/yolov5/releases
构成:
.pt文件
./pytorch/vision 文件夹用途
参考来源:
https://blog.csdn.net/qq_38410428/article/details/101062287
https://blog.csdn.net/qq_34317565/article/details/122299172
1、查询可用的模型;
torch.hub.list()
这个API列出repo中所有可用的入口点
【但是国内一般连接不上,报错如下,故而将模型文件放到本地。】
urllib.error.URLError:
2、加载模型;
调用上一步中查询到的计算机视觉模型,无需安装,直接进行如下调用即可,模型会自动下载到本地,无需手动下载。
model = torch.hub.load('pytorch/vision', 'deeplabv3_resnet101', pretrained=True)
自动进行【Downloading: "https://github.com/pytorch/vision/archive/main.zip" to C:\Users\流年/.cache\torch\hub\main.zip】
【国内一般将模型放到本地,进行本地调用加载】
path = '../../../../pytorch/vision/' #本地预训练模型路径
model = torch.hub.load(path, 'yolov5s', source='local', pretrained=True) # pretrained=True 设为预训练模式, source默认为github,因此需指定本地
img = '../tmp/0000009.jpg'
results = model(img) #用模型检测img图片,或者video,具体看模型的输入参数
results.print() #输出检测结果
【torch.hub.load()参数具体调用信息直接查文档,下面列出几个重点 】
torch.hub.load(repo_or_dir, model, *args, source='github', force_reload=False, verbose=True, skip_validation=False, **kwargs)
- repo_or_dir:记得设置本地./pytorch/vision 路径
- model 调用入口在:本地./pytorch/vision 路径下的hubconf.py文件里,因此模型名字要在hubconf.py中存在才能调用
- source='local', 记得设置本地,默认:github
- pretrained=True #设定预训练模式,默认False,为了代码清晰,最好还是加上参数赋值.
为了加快学习进度,训练的初期直接加载pretrain模型中预先训练好的参数
pretrained=True 加载网络结构和预训练参数
pretrained=False 只加载网络结构,不加载预训练参数,即不需要用预训练模型的参数来初始化。
3、查询模型中可用的方法。
从PyTorch Hub加载模型后,你可以用dir(model)查看模型的所有可用方法
4、可以自定义模型:
model = torch.hub.load('ultralytics/yolov5', 'custom', path='path/to/best.pt') # local model
model = torch.hub.load('path/to/yolov5', 'custom', path='path/to/best.pt', source='local') # local repo
保存模型与调用的几种方式:
来源:https://blog.csdn.net/weixin_38145317/article/details/103582549
方式一:
保存:
torch.save(model.state_dict(), mymodel.pth)#只保存模型权重参数,不保存模型结构
调用:
model = My_model(*args, **kwargs) #这里需要重新模型结构,My_model
model.load_state_dict(torch.load(mymodel.pth)) #这里根据模型结构,调用存储的模型参数
model.eval()
方式二:
保存:
torch.save(model, mymodel.pth)#保存整个model的状态
调用:
model=torch.load(mymodel.pth)#这里已经不需要重构模型结构了,直接load就可以
model.eval()
Pytorch模型加载问题:
参考来源:
https://blog.csdn.net/qq_34097715/article/details/83345189
https://cloud.tencent.com/developer/article/1624133 Pytorch预训练模型以及修改
Pytorch模型的加载方式支持两种:一种是使用Pytorch自带的模型,另外一种是程序员自己编写的模型。