pytorch入门1.2(稍微高级点的操作)
承接上一节,继续来学一下更加高级那么一点点的操作。
5.张量的几个基本操作
a = torch.rand(2,3,4) # 随机生成一个张量
a.view(-1,2) # 把张量变成含有两列的张量,行数程序自己算
a.reshape(-1,2) # 把张量变成含有两列的张量,行数程序自己算
a.numpy() # 转换成numpy的数组
torch.from_numpy(a.numpy()) # 从numpy转为tensor
6. 张量的索引
a[:,:,:] # 三个维度全取
a[1:,:,:3] # 在第一个维度从第一个元素开始取;在第二个维度全取;在第三个维度取到第2个元素(不包含冒号后的end位置)
a[1:2,:,:]
7. 张量的广播
广播(broadcasting)指的是不同形状的张量之间的算数运算的执行方式。
a = torch.randint(0,9,size=(3,3))
a*4
a = torch.randint(0,9,size=(1,4))
b = torch.randint(0,9,size=(4,1))
a-b
上面这个例子a
本身为\(1\times4\)的张量,而b是\(4\times1\)的张量。那么a想要和b进行运算,就必须按照b的行来补,b就得按照a的列数量来补充。
如果你喜欢的话...
如果读完我写的笔记有疑问或者想法,欢迎留下您的评论,我们一起交流、共同讨论、相互学习。如果这篇笔记让您有收获,愿您不吝打赏,您的鼓励是对我最大的肯定,也督促我记录更多质量更好的笔记。
![打赏码](https://www.cnblogs.com/images/cnblogs_com/datasnail/1294095/o_QQ%E6%88%AA%E5%9B%BE20180905125739.png)