目录

1、pytorch卷积

2、enumerate()函数,遍历数据

3、交叉熵

4、nvidia-smi结果中的type标签什么意思?


1、pytorch卷积

2、enumerate()函数,遍历数据

3、交叉熵

交叉熵例子:

import torch
import torch.nn as nn
loss_fn = nn.CrossEntropyLoss()x_input = torch.randn(5, 3)
# 上面的第一个参数5表示batchsize=5,第二个参数3表示分类的类别数,即有3类x_target = torch.tensor([0, 2, 1, 1, 0])
# 上面的标签是个数组,每个元素对应一个输入图片的类别,元素取值均在0~2之间(3种)
# 因为batchsize=5,所以这里数组中有5个图片标签,第一个标签0意思为第一张图片是第一类
# 第二个标签2意思第二张图片是第三类# 这里给出两个对象所属的类别标签即可,此处的意思为第一个对象属于第0类,第二个我对象属于第2类
loss = loss_fn(x_input, x_target)
print('loss:\n', loss)

交叉熵函数接受的不能是one-hot标签,而是类似于「1  6  9  7  4」这样的数组,之后交叉熵函数会自动转化为one-hot标签类型。即将上面的数组变为

01000000000
00000010000
00000000001    这个数组就相当于batchsize=5,因为数组中的每个元素均代表一个图片类别00000001000
00001000000

如果不同类别对应的权重不同,传入的权重参数应该是一个1维的tensor。

输入的每一类的置信度得分(input)应该是原始的,未经过softmax或者normalized。原因是这个函数会首先对输入的原始得分进行softmax,所以必须保证输入的是每一类的原始得分。不能写成[0.2, 0.36, 0.44]这种softmax之后的或者[0, 1, 0]这种one-hot编码。

输入的target也不能是one-hot标签,直接输入每个例子对应的类别编号就行了(0 < target_value < C-1),比如产生的结果数为N*C(N为个数,C为类别数),那么输入的target必须输入一个长度为N的一维tensor(指明每个结果属于哪一类,如[1, 3, 0],函数内部会自动转化为one-hot标签)。

4、nvidia-smi结果中的type标签什么意思?

They are both for GPU.

•C = compute = CUDA or OpenCL //纯计算
•G = graphics = DirectX or OpenGL //绘图

PyTorch是个啥玩意儿?相关推荐

  1. 从0基础到全国亚军,自学机器学习如何挺进Kaggle前20%

    前半部分是各种碎碎念,介绍自己0基础入门机器学习的经历,不喜欢可以跳过 后半部分介绍自己的比赛方案 双非文科出身,0基础完全靠自学入门[机器学习],在一场练习赛中Sole,成绩从第1661名达到了全球 ...

  2. 如何高效入门 PyTorch ?

    王树义 读完需要 15 分钟 速读仅需5分钟 PyTorch 入门,坑着实不少.咱们来谈谈,如何选个合适的教程,避开它们. 1 选择 好几位读者,都留言问我: 王老师,我想学深度学习,到底是该学 Te ...

  3. 伯禹公益AI《动手学深度学习PyTorch版》Task 03 学习笔记

    伯禹公益AI<动手学深度学习PyTorch版>Task 03 学习笔记 Task 03:过拟合.欠拟合及其解决方案:梯度消失.梯度爆炸:循环神经网络进阶 微信昵称:WarmIce 过拟合. ...

  4. anaconda环境配置pytorch总结,GPU调用失败方法总结

    垃圾电脑(我好菜),配置环境用了六七个小时,淦,接下来我总结一下我遇到的问题及解决方法. 1.首先按部就班地在CSDN上搜索anaconda如何配置pytorch,帖子有很多,不再赘述,在添加完各种镜 ...

  5. Pytorch踩坑记之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用)

    目录 nn.Softmax和nn.LogSoftmax nn.NLLLoss nn.CrossEntropy nn.BCELoss 总结 在Pytorch中的交叉熵函数的血泪史要从nn.CrossEn ...

  6. Pytorch中如何理解RNN LSTM GRU的input(重点理解seq_len / time_steps)

    在建立时序模型时,若使用keras,我们在Input的时候就会在shape内设置好sequence_length(后面简称seq_len),接着便可以在自定义的data_generator内进行个性化 ...

  7. 【PyTorch】迁移学习:基于 VGG 实现的光明哨兵与破败军团分类器

    文章目录 简述. 环境配置. PyTorch代码. 导入第三方库. 使用 GPU. 加载数据. 定义可视化函数. 加载预训练模型. 冻结特征层. 修改输出层. 定义优化器. 定义训练函数. 训练过程. ...

  8. 蒙奇奇深度学习第一课:Windows10安装pytorch和tensorflow(避坑必读,吐血整理)

    蒙奇奇经过一番折腾,终于成功安装了pytorch和tensorflow,踩了不少坑,但她都成功填上了哈哈.这是她的安装方法记录,没有放图,但是她描述的比较清楚,相信屏幕前的你可以看懂的嘻嘻.对了,看这 ...

  9. 通过anaconda2安装python2.7和安装pytorch

    ①由于官网下载anaconda2太慢,最好去byrbt下载,然后安装就行 ②安装完anaconda2会自动安装了python2.7(如终端输入python即进入python模式) 但是可能没有设置环境 ...

最新文章

  1. Linux常用命令 积累
  2. java元婴期(24)----java进阶(mybatis(3)---动态sql(重点))
  3. Qt之布局管理——堆栈窗体
  4. postgres 显示变量_sql - 如何在PostgreSQL查询中声明变量
  5. 每日一题:leetcode81.搜索旋转排序数组Ⅱ
  6. java方法重载实事例_零基础java入门教程函数重载function实例化格式案例
  7. ATIchinapay银联支付模块.zip
  8. python实现FTP文件上传和下载
  9. Xceed WPF 3D显示控件Xceed 3D Views for WPF控件详细介绍使用及下载
  10. 关于半导体器件材料的这些基础知识你都知道?
  11. win10系统可以登录微信,但浏览器不能打开网页
  12. python 二项分布编程_Python模拟伯努利试验和二项分布代码实例
  13. Tip | 使用GitHubDesktop提交 本地existing项目
  14. Android 隐藏App的图标
  15. cannot import name ‘_validate_lengths‘ from ‘numpy.lib.arraypad‘错误
  16. 数据处理的神来之笔 解决缓存击穿的终极利器 1
  17. 电子计算机是采用什么进制法,计算机内部使用什么进制
  18. 显示器序列号查询方式
  19. gnuplot画图点线设置
  20. c语言中调用函数fn,C语言常见的函数调用

热门文章

  1. jeecgboot logback-spring.xml配置不生成新日志文件
  2. Nginx+Tomcat+Memcached集群 【测试成功】
  3. 互斥锁、死锁、递归锁、信号量、Event
  4. Objective-C初学者指南(第2版)
  5. leetcode题解(二叉树和递归问题)
  6. 纯CSS实现移动端常见布局——高度和宽度挂钩的秘密
  7. 融合Thread网路协议 ZigBee新版规范Q3出笼
  8. c语言 main函数
  9. protocol_buffers简易操作
  10. jboss7(01)服务器开启和关闭命令