今天在练习手写softmax系列函数的时候遇到了报错:

出错原因我的target不是index tensor。我是按照一个博客进行实践的,自己一个个代码打过来的怎么会有错呢?仔细一检查发现确实一个小地方跟人家不一样,人家的target = torch.tensor([0, 2, 4, 1, 3])这里的tensor是小写,其实这还是我第一次看到torch.tensor()这样构造一个tensor,于是下定决定好好把他们两个搞清楚。

torch.Tensor()

我们首先明确这一点,这是python类,是默认张量类型torch.FloatTensor()的别名,我们每次调用torch.Tensor([1,2, 3, 4, 5])来构造一个tensor的时候,会调用Tensor类的构造函数,生成一个单精度浮点类型的张量。

它不能指定数据类型,除非转成一个已知数据类型的张量,使用type_as(tesnor)将张量转换为给定类型的张量

torch.Tensor()

但是torch.tensor(注意这里是小写)仅仅是python的函数,函数原型是

torch.tensor(data, dtype=None, device=None, requires_grad=False)

其中data可以是:list,tuple,NumPy,ndarray等其他类型,torch.tensor会从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应的torch.LongTensor torch.FloatTensor和torch.DoubleTensor

我们可以看到data变成了浮点型,tensor1.type()随之也变成相应的torch.FloatTensor, 此外我们看到函数定义,可以生成指定dtype的tensor。

torch.Tensor()与torch.tensor()相关推荐

  1. PyTorch 笔记(08)— Tensor 比较运算(torch.gt、lt、ge、le、eq、ne、torch.topk、torch.sort、torch.max、torch.min)

    1. 常用函数 比较函数中有一些是逐元素比较,操作类似逐元素操作,还有一些类似归并操作,常用的比较函数如下表所示. 表中第一行的比较操作已经实现了运算符重载,因此可以使用 a>=b,a>b ...

  2. torch.Tensor和torch.tensor的区别

    torch.Tensor和torch.tensor的区别 2019-06-10 16:34:48 Vic_Hao 阅读数 4058更多 分类专栏: Pytorch 在Pytorch中,Tensor和t ...

  3. pytorch torch.Tensor.new_ones()(返回一个与size大小相同的用1填充的张量。 默认返回的Tensor具有与此张量相同的torch.dtype和torch.device)

    from https://pytorch.org/docs/1.1.0/tensors.html?highlight=new_ones#torch.Tensor.new_ones new_ones(s ...

  4. Pytorch中的 torch.Tensor() 和 torch.tensor() 的区别

    直接在搜索引擎里进行搜索,可以看到官方文档中两者对应的页面: 分别点击进去,第一个链接解释了什么是 torch.Tensor: torch.Tensor 是一个包含单一数据类型元素的多维矩阵(数组). ...

  5. torch.cuda.FloatTensor 与 torch.FloatTensor(torch.Tensor)--CPU和GPU上的数据类型

    1.torch.cuda.FloatTensor 与 torch.FloatTensor Pytorch中的tensor又包括CPU上的数据类型和GPU上的数据类型,一般GPU上的Tensor是CPU ...

  6. torch.Tensor和torch.tensor有什么区别?

    介绍 在PyTorch 中,torch.Tensor是主要的tensor类,所有的tensor都是torch.Tensor的实例.torch.Tensor是torch.FloatTensor的别名. ...

  7. [PyTorch] 拼接多个tensor:torch.cat((A,B),axis)

    注:参考博客Pytorch中的torch.cat()函数.本人在其基础上增加了更为详细的解释. torch.cat((A,B),axis)是对A, B两个tensor进行拼接. 参数axis指定拼接的 ...

  8. torch.Tensor(dim)与torch.Tensor((dim)), torch.Tensor(dim1,dim2)与torch.Tensor((dim1,dim2))的区别

    1 torch.Tensor(dim)与torch.Tensor((dim))的区别 从三张截图可以看出这两者其实是完全一样的,都表示的是这个张量的维度而不是这个张量的数据,其中第一处之所以不同是因为 ...

  9. pytorch每日一学22(torch.empty()、torch.empty_like()、torch.empty_strided())创建未初始化数据的tensor

    第22个方法 由于下面这三个方法比较相似,都是创建未初始化的tensor(第三个是创建一个tensor的视图),所以就放到一起来讲: torch.empty(*size, *, out=None, d ...

  10. pytorch(2)Tensor创建和获取tensor的size信息、torch.dtype、torch.device、torch.layout

    获取tensor的size信息 >>> import torch >>> from torch.autograd import Variable >>& ...

最新文章

  1. Field types
  2. python代码规范 自动优化工具Black
  3. lucene,基于QueryParser的搜索
  4. *62.分页和分段的区别
  5. Ibatis 升级 Mybatis
  6. 7-1 图形卡片排序游戏 (40 分)
  7. hadoop3.1.1 HA高可用分布式集群安装部署
  8. Codeforces Round #629 (Div. 3) A~C
  9. 在Android中使用自带API操作Json
  10. 飞机大战(微信小游戏)
  11. dedecms如何做中英文网站?
  12. linux查看磁带大小命令,16条实用的Linux/Unix 磁带管理命令
  13. 项目管理之项目风险应对
  14. android进入recovery模式,Android关机重启至recovery安卓进入Recovery模式模式
  15. 下列属于计算机应用,计算机的应用领域可大致分为6个方面,下列选项中属于计算机应用领域的是...
  16. groupby.nth_熊猫groupby first vs groupby nth vs groupby head
  17. 教你一键开发桌面应用程序
  18. HTML5--CSS3在线编辑工具 超酷!!!(24款非常实用的CSS3工具终极收藏)
  19. 短信接口抓包_[实战] 实现抢票小工具amp;短信通知提醒
  20. 2012-2013年世界大学计算机专业排名

热门文章

  1. 【C刷题记录】地月折纸——对数使用
  2. 1719C - Fighting Tournament
  3. 服务器显示中国移动,中国移动服务器地址是什么
  4. activiti适配人大金仓数据库修改方法
  5. 红外线发射器与接收器模块使用教学
  6. 【5G核心网】5G概念以及名词缩写解释
  7. 转载:网站分析与SEO效果的评估
  8. UBLOX F9P搭建NtripCaster组建RTK
  9. Linux 抓取网页实例(shell+awk)
  10. android中设置默认语言、默认时区