pytorch加载自定义网络权重的实现


Posted in Python onJanuary 07, 2020

在将自定义的网络权重加载到网络中时,报错:

AttributeError: 'dict' object has no attribute 'seek'. You can only torch.load from a file that is seekable. Please pre-load the data into a buffer like io.BytesIO and try to load from it instead.

我们一步一步分析。

模型网络权重保存额代码是:torch.save(net.state_dict(),'net.pkl')

(1)查看获取模型权重的源码:

pytorch源码:net.state_dict()

def state_dict(self, destination=None, prefix='', keep_vars=False):
  r"""Returns a dictionary containing a whole state of the module.

  Both parameters and persistent buffers (e.g. running averages) are
  included. Keys are corresponding parameter and buffer names.

  Returns:
    dict:
      a dictionary containing a whole state of the module

  Example::

    >>> module.state_dict().keys()
    ['bias', 'weight']

  """

将网络中所有的状态保存到一个字典中了,我自己构建的就是一个字典,没问题!

(2)查看保存模型权重的源码:

pytorch源码:torch.save()

def save(obj, f, pickle_module=pickle, pickle_protocol=DEFAULT_PROTOCOL):
  """Saves an object to a disk file.

  See also: :ref:`recommend-saving-models`

  Args:
    obj: saved object
    f: a file-like object (has to implement write and flush) or a string
      containing a file name
    pickle_module: module used for pickling metadata and objects
    pickle_protocol: can be specified to override the default protocol

  .. warning::
    If you are using Python 2, torch.save does NOT support StringIO.StringIO
    as a valid file-like object. This is because the write method should return
    the number of bytes written; StringIO.write() does not do this.

    Please use something like io.BytesIO instead.

函数功能是将字典保存为磁盘文件(二进制数据),那么我们在torch.load()时,就是在内存中加载二进制数据,这就是报错点。

解决方案:将字典保存为BytesIO文件之后,模型再net.load_state_dict()

#b为自定义的字典
torch.save(b,'new.pkl')
net.load_state_dict(torch.load(b))

解决方法很简单,主要记录解决思路。

以上这篇pytorch加载自定义网络权重的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
Django与遗留的数据库整合的方法指南
Jul 24 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
python实现对excel进行数据剔除操作实例
Dec 07 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
python数据分析:关键字提取方式
Feb 24 Python
Python实现钉钉/企业微信自动打卡的示例代码
Feb 02 Python
python基础学习之生成器与文件系统知识总结
May 25 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 #Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 #Python
浅谈Python访问MySQL的正确姿势
Jan 07 #Python
pytorch自定义二值化网络层方式
Jan 07 #Python
Pytorch: 自定义网络层实例
Jan 07 #Python
Python StringIO如何在内存中读写str
Jan 07 #Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 #Python
You might like
PHP完整的日历类(CLASS)
2006/11/27 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
php事件驱动化设计详解
2016/11/10 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
numpy添加新的维度:newaxis的方法
2018/08/02 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
python实现飞船大战
2020/04/24 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
python 如何调用 dubbo 接口
2020/09/24 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
关于运动会的广播稿(10篇)
2014/09/12 职场文书
师德师风学习材料
2014/12/19 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书