pytorch 预训练层的使用方法

yipeiwu_com5年前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设计】。

相关文章

Python创建普通菜单示例【基于win32ui模块】

Python创建普通菜单示例【基于win32ui模块】

本文实例讲述了Python创建普通菜单的方法。分享给大家供大家参考,具体如下: 一、代码 # -*- coding:utf-8 -*- #! python3 import win32...

python函数的5种参数详解

(1)       位置参数,调用函数时按位置传入参数 (2)     &n...

在Python中如何传递任意数量的实参的示例代码

1 用法 在定义函数时,加上这样一个形参 "*形参名",就可以传递任意数量的实参啦: def make_tags(* tags): '''为书本打标签''' print('标...

python 实现简单的FTP程序

python 实现简单的FTP程序

FTP即文件传输协议;它基于客户机-服务器模型体系结构,应用广泛。它有两个通道:一个命令通道和一个数据通道。命令通道用于控制通信,数据通道用于文件的实际传输。使用FTP可以做很多事情,比...

定制FileField中的上传文件名称实例

FileField中的upload_to属性可以设定上传文件的存储目录和名称,它可以是个字符串,也可以是个callable,比如一个方法。 当upload_to的值设为一个方法时,就可以...