nll_loss
'''
torch.nn torch.nn.functional (F)
CrossEntropyLoss cross_entropy
LogSoftmax log_softmax
NLLLoss nll_loss '''
import torch
import torch.nn.functional as F input=torch.randn(3,4)
label=torch.tensor([0,2,1])
print("input",input) softmax=F.softmax(input,dim=1)
print("softmax",softmax) log_softmax=F.log_softmax(input,dim=1)
print("log_softmax",log_softmax) loss_nll=F.nll_loss(log_softmax,label)
print("loss_nll",loss_nll) loss_cross=F.cross_entropy(input,label)
print("loss_cross",loss_cross) '''
input tensor([[ 0.0363, 0.1419, 2.1639, 1.5429],
[-0.6606, -0.0991, -0.6160, -2.4418],
[-1.1279, -1.5333, -0.2142, 0.8669]])
softmax tensor([[0.0666, 0.0740, 0.5590, 0.3004],
[0.2521, 0.4419, 0.2636, 0.0425],
[0.0869, 0.0579, 0.2166, 0.6386]])
log_softmax tensor([[-2.7092, -2.6036, -0.5816, -1.2026],
[-1.3781, -0.8166, -1.3335, -3.1592],
[-2.4433, -2.8488, -1.5296, -0.4485]])
loss_nll tensor(1.4971)
loss_cross tensor(1.4971) 0.0363 0.1419 2.1639 1.5429
-0.6606 -0.0991 -0.616 -2.4418
-1.1279 -1.5333 -0.2142 0.8669 dim=0
exp sum
1.0370 1.1525 8.7050 4.6781 15.57258663
0.5165 0.9057 0.5401 0.0870 2.049298083
0.3237 0.2158 0.8072 2.3795 3.726244435 softmax
0.0666 0.0740 0.5590 0.3004
0.2521 0.4419 0.2636 0.0425
0.0869 0.0579 0.2166 0.6386 log_softmax
-2.7092 -2.6036 -0.5816 -1.2026
-1.3781 -0.8166 -1.3335 -3.1593
-2.4433 -2.8487 -1.5296 -0.4485 1.0370=exp(0.0363)
0.0666=1.0370/15.57258663
-2.7092=ln(0.0666)
1.497070103=abs(-2.7092-1.3335-0.44850/3 '''
nll_loss的更多相关文章
- resnet18全连接层改成卷积层
想要尝试一下将resnet18最后一层的全连接层改成卷积层看会不会对网络效果和网络大小有什么影响 1.首先先对train.py中的更改是: train.py代码可见:pytorch实现性别检测 # m ...
- TensorRT&Sample&Python[network_api_pytorch_mnist]
本文是基于TensorRT 5.0.2基础上,关于其内部的network_api_pytorch_mnist例子的分析和介绍. 本例子直接基于pytorch进行训练,然后直接导出权重值为字典,此时并未 ...
- Pytorch里的CrossEntropyLoss详解
在使用Pytorch时经常碰见这些函数cross_entropy,CrossEntropyLoss, log_softmax, softmax.看得我头大,所以整理本文以备日后查阅. 首先要知道上面提 ...
- Summary on deep learning framework --- PyTorch
Summary on deep learning framework --- PyTorch Updated on 2018-07-22 21:25:42 import osos.environ[ ...
- pytorch0.4版的CNN对minist分类
卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功 ...
- 记录下pytorch代码从0.3版本迁移到0.4版本要做的一些更改。
1. UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to in ...
- 使用xshell+xmanager+pycharm搭建pytorch远程调试开发环境
1. 相关软件版本 xshell: xmanager: pycharm: pycharm破解服务器:https://jetlicense.nss.im/ 2. 将相应的软件安装(pojie好) a&g ...
- tensorflow/pytorch/mxnet的pip安装,非源代码编译,基于cuda10/cudnn7.4.1/ubuntu18.04.md
os安装 目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本.非lts的版本一般不推荐. Windows倒是也能用来装深度GPU环 ...
- 深度学习课程笔记(一)CNN 卷积神经网络
深度学习课程笔记(一)CNN 解析篇 相关资料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html 首先提到 Why CNN for I ...
随机推荐
- IFB
本文翻译自Linux官方IFB文档 IFB(中介功能块设备)是IMQ(中介队列设备)的继任者,IMQ从来没有被集成过,IFB拥有IMQ的优点,在SMP上更加清晰明了,并且代码量缩减了非常多,旧的中介设 ...
- C#连接Oracle数据库的四种方法
C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...
- 关于eval(data)和eval("("+data+")")
如果data是字符串,使用eval("("+data+")")可以将其转换为json对象,和JSON.parse的功能一样.如果data是json对象,使用ev ...
- cocos2dx基础篇(25) 简单碰撞检测
[3.x] 将数学类 CCPoint.CCRect 改为v3.x版本的 Vec2.Rect 就好了. [简单碰撞检测] 在一些游戏中经常会遇到碰撞检测的情况,如愤怒的小鸟飞出去后,是否与石头发生碰撞. ...
- ROS自动切换策略
自动切换策略,具体如下 监视地址:1.1.1.1 轮询时间:30s:超时时间:1000ms up /ip firewall nat set [/ip firewall nat find comment ...
- python线程池--threadpool
在爬虫时,有时候解析获得了很多图片或视频地址时,如果一个个下载完成再去下载另一个,这样执行效率太慢了,此时就可用到线程池threadpool,使用基本步骤如下: 1.定于任务函数 2.创建线程池,定义 ...
- Keytool生成证书
一.生成证书keytool -genkey -alias 别名 -keyalg RSA -keysize 1024(密钥位数) -keypass 密码 -validity 365(默认90天) -ke ...
- angular [NgClass] [NgStyle],NgIf,[ngSwitch][ngSwitchCase]
[NgClass] CSS 类会根据表达式求值结果进行更新,更新逻辑取决于结果的类型: string - 会把列在字符串中的 CSS 类(空格分隔)添加进来, Array - 会把数组中的各个元素作 ...
- Android事件监听(一)——简介篇
Button.ImageButton事件 setOnClickListener 点击时触发 ListView事件 setOnItemSelectedListener 鼠标滚动时触发 set ...
- 插座-网络问题-ESP8266
//ATK-ESP8266模块测试主函数,检查WIFI模块是否在线 void atk_8266_test(void) { ))//检查WIFI模块是否在线 { atk_8266_quit_trans( ...