问题六:

问题五:这里是怎么得到的?

问题四:为什么会是如下结果?

torch.bernoulli(a)怎么是这个结果?

问题1:torch各个类型数据格式如何转换?数据类型在官方文档torch.Tensor中,有八种类型。

#尝试一
i32=torch.IntTensor([1,2,3])
i64=torch.LongTensor([1,2,3])
#两种转换都报错
#new_i64=torch.IntTensor(i64)
#new_i32=torch.LongTensor(i32)
#didn't match because some of the arguments have invalid types: (!torch.LongTensor!) #尝试二
new_i32=i32.long()
print(torch.equal(new_i32,i64)) #True
#torch.Tensor对应八种数据转换,各种数据可以相互转换
i32.float()
i32.double()
i32.half()
i32.byte()
i32.char()
i32.short()
i32.int()
i32.long()

问题2:官方文档中sequence of tensors是什么意思?在torch.stack(sequencedim=0out=None).

是tensors构成的序列,可以为列表,也可以为元组

#torch.stack(sequence, dim=0, out=None) 连接Tensors
i32=torch.Tensor([1,2,3])
print(torch.stack([i32,i32,i32])) #默认dim=0,以列为基准
# 1 2 3
# 1 2 3
# 1 2 3
# [torch.FloatTensor of size 3x3]
print(torch.stack([i32,i32,i32],dim=1))
# 1 1 1
# 2 2 2
# 3 3 3
# [torch.FloatTensor of size 3x3]
print(torch.stack((i32,i32,i32),dim=1))
# 1 1 1
# 2 2 2
# 3 3 3
# [torch.FloatTensor of size 3x3]

问题3:为什么有如下Tensor格式区别?有的是size 3,有的是size 4x1 ?

torch.from_numpy(np.array([1,2,3]))   #torch.IntTensor of size 3
torch.from_numpy(np.array([1.0,2,3])) #torch.DoubleTensor of size 3
torch.nonzero(torch.Tensor([1,2,3,0,4]))==torch.Tensor([0,1,2,4]) #nonzero 非0元素所在位置
# TypeError: eq received an invalid combination of arguments - got (torch.FloatTensor), but expected one of:
# * (int value)
# didn't match because some of the arguments have invalid types: (!torch.FloatTensor!)
# * (torch.LongTensor other)
# didn't match because some of the arguments have invalid types: (!torch.FloatTensor!)
#注意上面代码中两者数据格式类型不一致,torch.FloatTensor   torch.LongTensor
#torch.unsqueeze(input,dim,out=None)
m=torch.Tensor([1,2,3,4])
print(m) #torch.FloatTensor of size 4
m_zero=torch.unsqueeze(m,0)
print(m_zero) #torch.FloatTensor of size 1x4
m_one=torch.unsqueeze(m,1)
print(m_one) #torch.FloatTensor of size 4x1 m_zero_to_m=torch.squeeze(m_zero)
print(m_zero_to_m) #torch.FloatTensor of size 4
print(m==m_zero_to_m) #torch.ByteTensor of size 4
# 1
# 1
# 1
# 1
print(m.equal(m_zero_to_m))  True

可见为两种不同数据类型,可以通过unsqueeze和squeeze来相互转化。判断两个Tensor是否相等,用equal

问题4、

最新文章

  1. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
  2. Nginx manifest 实现 HTML5 Application Cache
  3. hdu 3839 Ancient Messages (dfs )
  4. Android Framework
  5. Unity2D多分辨率屏幕适配方案(转载)
  6. Qt label加边框
  7. Oracle中没有 if exists(...)
  8. Facebook Graph API 接口请求
  9. currentstyle和getComputedStyle兼容问题
  10. 读书笔记 effective c++ Item 18 使接口容易被正确使用,不容易被误用
  11. 长连接 Socket.IO
  12. IOS中常用的UIColor
  13. Spring源码:IOC原理解析(一)
  14. Java基本语法-----java二维数组
  15. react-router 4.0(一)
  16. springboot项目接入配置中心,实现@ConfigurationProperties的bean属性刷新方案
  17. Linux 上传代码到github
  18. 用友时空KSOA功能挖掘之zl_func函数
  19. 解决Windows10下无法对docker容器进行端口访问(端口映射的问题)
  20. KMP(http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2772)

热门文章

  1. Unbutu下装oracle
  2. xcode windows版安装使用教程
  3. vue :is 属性
  4. 剑指offer 链表中环的入口位置
  5. 12.redis的AOF持久化深入讲解各种操作和相关实验
  6. 《YouTube 网站的架构演进》阅读笔记
  7. Linux添加虚拟内存 && 修改Linux系统语言
  8. Python3 格式化输出
  9. 小米百元NFC智能神器来了:必成爆款!
  10. 破解centos7 密码