自己搭建resnet18网络并加载torchvision自带权重的操作

作者:找不到服务器1703 时间:2021-11-28 12:24:33 

直接搭建网络必须与torchvision自带的网络的权重也就是pth文件的结构、尺寸和变量命名完全一致,否则无法加载权重文件。

此时可比较2个字典逐一加载,详见

pytorch加载预训练模型与自己模型不匹配的解决方案


import torch
import torchvision
import cv2 as cv
from utils.utils import letter_box
from model.backbone import ResNet18

model1 = ResNet18(1)
model2 = torchvision.models.resnet18(progress=False)
fc = model2.fc
model2.fc = torch.nn.Linear(512, 1)
# print(model)
model_dict1 = model1.state_dict()
model_dict2 = torch.load('resnet18.pth')
model_list1 = list(model_dict1.keys())
model_list2 = list(model_dict2.keys())
len1 = len(model_list1)
len2 = len(model_list2)
minlen = min(len1, len2)
for n in range(minlen):
   if model_dict1[model_list1[n]].shape != model_dict2[model_list2[n]].shape:
       continue
   model_dict1[model_list1[n]] = model_dict2[model_list2[n]]
model1.load_state_dict(model_dict1)
missing, unspected = model2.load_state_dict(model_dict2)
image = cv.imread('zhn1.jpg')
image = letter_box(image, 224)
image = image[:, :, ::-1].transpose(2, 0, 1)
print('Network loading complete.')
model1.eval()
model2.eval()
with torch.no_grad():
   image = torch.tensor(image/256, dtype=torch.float32).unsqueeze(0)
   predict1 = model1(image)
   predict2 = model2(image)
print('finished')
# torch.save(model.state_dict(), 'resnet18.pth')

来源:https://blog.csdn.net/qq_34288751/article/details/114163057

标签:resnet18,网络,加载,torchvision,权重
0
投稿

猜你喜欢

  • 两段不错的JS文字特效

    2007-09-27 12:52:00
  • asp检测是否为中文字符函数

    2011-04-07 11:19:00
  • matplotlib基本图形绘制操作实例

    2023-07-14 18:18:01
  • Pycharm快捷键配置详细整理

    2021-06-25 05:46:17
  • 白鸦:如何设计用户体验?

    2008-01-03 16:53:00
  • 表头固定(利用jquery实现原理介绍)

    2024-04-09 19:46:55
  • python使用Thread的setDaemon启动后台线程教程

    2023-09-29 05:49:26
  • MySQL优化配置文件my.ini(discuz论坛)

    2024-01-13 23:34:43
  • Access的特点及其概念问答

    2009-09-10 19:00:00
  • python实现简易版学生成绩管理系统

    2022-01-19 10:52:03
  • SQL Server 数据库安全管理介绍

    2024-01-19 23:31:01
  • 获得当前数据库对象依赖关系的实用算法

    2009-01-08 13:28:00
  • python模拟菜刀反弹shell绕过限制【推荐】

    2023-07-13 12:56:18
  • Dreamweaver2004 中文乱码解决方案

    2007-01-31 10:20:00
  • python 类对象的析构释放代码演示

    2023-11-22 18:54:53
  • Golang Http请求返回结果处理

    2024-04-30 10:01:01
  • discuz 2.0整合asp系统,用户添加函数

    2011-04-02 11:08:00
  • 详解python 支持向量机(SVM)算法

    2022-03-06 02:11:24
  • Python txt文件常用读写操作代码实例

    2021-08-22 04:38:28
  • 对python指数、幂数拟合curve_fit详解

    2022-12-03 16:28:52
  • asp之家 网络编程 m.aspxhome.com