pytorch 预训练层的使用方法

yipeiwu_com7年前Python基础

pytorch 预训练层的使用方法

将其他地方训练好的网络,用到新的网络里面

加载预训练网络

1.原先已经训练好一个网络 AutoEncoder_FC()

2.首先加载该网络,读取其存储的参数

3.设置一个参数集

cnnpre = AutoEncoder_FC()
cnnpre.load_state_dict(torch.load('autoencoder_FC.pkl')['state_dict'])
cnnpre_dict =cnnpre.state_dict()

加载新网络

1.设置新的网络

2.设置新网络参数集

cnn= AutoEncoder()
cnn_dict = cnn.state_dict()

更新新网络参数

1.将两个参数集比对,存在的网络参数保留

2.使用保留下的参数更新新网络参数集

3.加载新网络参数集到新网络中

cnnpre_dict = {k: v for k, v in cnnpre_dict.items() if k in cnn_dict}
cnn_dict.update(cnnpre_dict)
cnn.load_state_dict(cnn_dict)

以上这篇pytorch 预训练层的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

树莓派安装OpenCV3完整过程的实现

树莓派安装OpenCV3完整过程的实现

1. 配置并更新树莓派系统 sudo raspi-config // 进入后打开摄像头、SSH sudo apt-get update sudo apt-get upgrade su...

详解pyenv下使用python matplotlib模块的问题解决

详解pyenv下使用python matplotlib模块的问题解决

先来描述一下我遇到的问题,在进行matplotlib学习时, plot.show() 总是无法成功运行,总是会报一个错: RuntimeError: Python is not ins...

详解Python计算机视觉 图像扭曲(仿射扭曲)

详解Python计算机视觉 图像扭曲(仿射扭曲)

对图像块应用仿射变换,我们将其称为图像扭曲(或者仿射扭曲)。该操作不仅经常应用在计算机图形学中,而且经常出现在计算机视觉算法中。 一、仿射变换原理 仿射变换能够保持图像的“平直性”,包括...

Python的Django框架中的select_related函数对QuerySet 查询的优化

Python的Django框架中的select_related函数对QuerySet 查询的优化

1. 实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下: Models.py 内容如下: from django.db i...

解决pycharm 安装numpy失败的问题

解决pycharm 安装numpy失败的问题

pycharm安装numpy失败,问题是 解决办法: 配置系统变量 path 新加 然后在cmd 命令行里添加 之后pycharm里面就有了 numpy 以上这篇解决pychar...