博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pytorch 0.3加载0.4模型及其之间版本的变化
阅读量:6978 次
发布时间:2019-06-27

本文共 1076 字,大约阅读时间需要 3 分钟。

1. 0.4中使用设备:.to(device)

2. 0.4中删除了Variable,直接tensor就可以

3. with torch.no_grad():的使用代替volatile;弃用volatile,测试中不需要计算梯度的话,用with torch.no_grad():

4. data改用.detach;x.detach()返回一个requires_grad=False的共享数据的Tensor,并且,如果反向传播中需要x,那么x.detach返回的Tensor的变动会被autograd追踪。相反,x.data()返回的Tensor,其变动不会被autograd追踪,如果反向传播需要用到x的话,值就不对了。

5. torchvision

- pytorch0.4有一些接口已经改变,且模型向下版本兼容,不向上兼容。

使用pytorch0.3导入pytorch0.4保存的模型时候:

Monkey-patch because I trained with a newer version.# This can be removed once PyTorch 0.4.x is out.# See https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560import torch._utilstry:    torch._utils._rebuild_tensor_v2except AttributeError:    def _rebuild_tensor_v2(storage, storage_offset, size, stride, requires_grad, backward_hooks):        tensor = torch._utils._rebuild_tensor(storage, storage_offset, size, stride)        tensor.requires_grad = requires_grad        tensor._backward_hooks = backward_hooks        return tensor    torch._utils._rebuild_tensor_v2 = _rebuild_tensor_v2
  • 拷贝一些权重到新的模型方法,感觉不能直接抽取sequential里面的某一层,除非重新构建模型,forward得到该层的内容,或者使用hook操作;

转载地址:http://yvupl.baihongyu.com/

你可能感兴趣的文章
stylus使用文档总结:内置方法+参数+条件+迭代+导入+继承
查看>>
模式的秘密-观察者模式(四)
查看>>
JAVA多线程之Synchronized、wait、notify实例讲解
查看>>
HDU 1258 Sum It Up (DFS)
查看>>
软件破解工具整理收集
查看>>
Bat命令学习
查看>>
Nhibernate3循序渐进(三): 一对多映射和级联保存
查看>>
对职业生涯的思考
查看>>
SQL Server用户自定义函数
查看>>
关于静态方法的使用方式
查看>>
hi35183e增加exfat文件系统的支持
查看>>
Android媒体相关开发应用程序接口
查看>>
asp.net 2.0中新增的AppendDataBoundItems .dropdownlist 添加第一项
查看>>
SQL Server 2008之WaitFor
查看>>
NYOJ 48
查看>>
Oracle 11g Release 1 (11.1) PL/SQL_多维 Collection 类型和其异常
查看>>
Android之传感器(一)
查看>>
继承log4.net的类
查看>>
Node.js Express 框架 Express
查看>>
oracle 11g wm_concat 、 listagg 函数的使用(合并数据)
查看>>