记录下pytorch代码从0.3版本迁移到0.4版本要做的一些更改。
1.
UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.
return F.log_softmax(x)
解决方法:把 F.log_softmax(x)改为F.log_softmax(x,dim=0) , 而且我发现改为F.log_softmax(x,dim=1),这个到底哪个更合理需要进一步确认。
2.
UserWarning: invalid index of a -dim tensor. This will be an error in PyTorch 0.5. Use tensor.item() to convert a -dim tensor to a Python number train_loss += loss.data[]
解决方法:把 train_loss+=loss.data[0] 修改为 train_loss+= loss.item()
3.
UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
label = Variable(label.cuda(), volatile=True)
解决方法:把 label = Variable(label.cuda(), volatile=True) 修改为 label = Variable(label.cuda())
接下来的几个问题是我真实的代码中产生的,并且按如上的方法解决了
4.
遇到的警告:
UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
data, target = Variable(data, volatile=True), Variable(target) 解决方法:把data, target = Variable(data, volatile=True), Variable(target)修改为
data, target = Variable(data), Variable(target)
5.
遇到的警告:
UserWarning: invalid index of a -dim tensor. This will be an error in PyTorch 0.5. Use tensor.item() to convert a -dim tensor to a Python number
test_loss += F.nll_loss(output, target, size_average=False).data[] 解决方法:把data[]改为item()
test_loss += F.nll_loss(output, target, size_average=False).item() 重新运行,报了另一个警告,
UserWarning: size_average and reduce args will be deprecated, please use reduction='sum' instead.
warnings.warn(warning.format(ret))
看了警告中的提示信息,意思size_average这个参数和reduce这个参数都将会将被不赞成。请使用reduction='sum',
所以我就把test_loss += F.nll_loss(output, target, size_average=False).item()改为
test_loss += F.nll_loss(output, target, reduction='sum').item()
这样运行后就没有报警告了。其实我用pycharm右键去找nll_loss这个函数的定义的地方会发现。警告中的提示信息提示的
非常到位。以下展示下nll_loss函数的定义:

记录下pytorch代码从0.3版本迁移到0.4版本要做的一些更改。的更多相关文章
- gitlab 从古老的 bitnami 版本 迁移到官方最新版本
		
这是我之前发布在 yuque 的文章.是我刚来新公司的时候帮公司搬迁 git 记录下来的,现在看来去掉敏感部分直接发布也没啥问题啦,就搬家过来,我自己也方便查 XD . 8.1.6 -> 10. ...
 - CoreData的简单使用(二)数据的增删改查,轻量级的版本迁移
		
上一篇中我们已经使用CoreData创建了一个SQLite数据库 CoreData的简单使用(一)数据库的创建 现在对数据库进行数据的CRUD(增删改查) 1.Data Model 的设置 创建一个D ...
 - windows下PyTorch安装之路记录
		
最近两天被windows下pytorch的安装给搞得很烦了,不过在今天终于安装成功了,如下图所示 下面详细说下此次安装的详细记录吧.我的电脑环境是Windows10+cuda9.0+cudnn7.1. ...
 - 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)
		
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...
 - 记录下项目中常用到的JavaScript/JQuery代码一(大量实例)
		
一直没有系统学习Javascript和Jquery,每次都是用到的时候去搜索引擎查,感觉效率挺低的.这边把我项目中用的的记录下,想到哪写哪,有时间再仔细整理. 当然,由于我主要是写后端java开发,而 ...
 - 记录下直接在git里读取出差异并打包的代码
		
一行命令: git diff --name-only HEAD commit_id | xargs tar -zcvf diff_head.tar.gz 这里的HEAD可以理解为最新的版本 HEAD本 ...
 - 记录下本地修改php版本的过程, 本地PHP目录位置,PHP-FPM目录位置
		
由于我在Cellar下安装了多个PHP版本,所以这里记录下如何修改本地的PHP版本 cd /usr/local/bin cp php71 php cp php71-fpm php-fpm vscode ...
 - Centos下给PHP一键升级高版本7.2.0
		
我是在Centos下测试的,目前php版本是7.0.0,我要升级到php7.2.0,下面开始. 执行命令 # wget http://soft.vpser.net/lnmp/upgrade_php.s ...
 - 版本控制git之五-标签管理 tags 标签 代码版本 如: v1.0
		
版本控制git之五-标签管理 打标签 像其他版本控制系统(VCS)一样,Git 可以给历史中的某一个提交打上标签,以示重要. 比较有代表性的是人们会使用这个功能来标记发布结点(v1.0 等等). ...
 
随机推荐
- JDK8 新特性流式数据处理
			
https://blog.csdn.net/canot/article/details/52957262
 - AndroidStudio在线搜索最新版本的依赖库
			
操作步骤 打开File–>Project Structure 选中当前项目,点击Denpendencies标签 点击+,选Library dependency 打开界面如下: 输入想要的依赖库部 ...
 - Java线程池参数
			
关于Java线程池的参数设置.线程池是Java多线程里开发里的重要内容,使用难度不大,但如何用好就要明白参数的含义和如何去设置.干货里的内容大多是参考别人的,加入了一些知识点的扩充和看法.希望能对多线 ...
 - mysql表管理
			
4.1 查看所有表 查看所有表语句: show tables; 例: mysql> show tables; +-----------------+ | Tables_in_emp | +--- ...
 - B - Alyona and towers CodeForces - 739C
			
链接: https://vjudge.net/contest/202699#problem/B 题意: 给出一个序列,要支持区间加和操作 求其中最长的区间,该区间内的元素满足(ai<ai+1&l ...
 - 通过impala更改Kudu表属性
			
开发人员可以通过更改表的属性来更改 Impala 与给定 Kudu 表相关的元数据.这些属性包括表名, Kudu 主地址列表,以及表是否由 Impala (内部)或外部管理. Rename an Im ...
 - Docker docker-compose安装
			
一.在服务器上敲下面命令即可,将需要的版本号修改一下即可 sudo curl -L "https://github.com/docker/compose/releases/download/ ...
 - JAVA连接MYSQL,查询 ,添加,删除,语句
			
package com; import Java.sql.*;/** *//** * @author Administrator */public class ggg { private ...
 - java项目打包生成MD5文件
			
之所以发出这篇博客,因为我前几天搞这个问题搞了几天,各种百度居然都没有找到相关的案例,虽然很简单的事件.可是百度博客上面居然都搜不到案例o(* ̄︶ ̄*)o觉得奇怪!!! 新总监来了,项目要上线,以前都 ...
 - 053 kafka自带的生产者与消费者测试
			
1.命令 2.启动生产者 bin/kafka-console-producer.sh --topic beifeng --broker-list linux-hadoop01.ibeifeng.com ...