初识pytorch

2019-07-08  本文已影响0人  菜田的守望者w

初始pytorch

定义tensor

上面两种方法一般给定一个维度直接生成随机数,也可以给定现成数据,不过现成数据一般使用下面的方法。

变量的shape
类似numpy的torch变量
索引

a=torch.rand(4,3,28,28)
a[0].shape------->torch.size([3,28,28])
a[0,0].shape------->torch.size([28,28])
a[0,0,2,4]---------->tensor(0.8282)第一个图片第一个通道,二行四列的数据

切片
维度转换
b=a.view(4,28*28)
print(b.shape)
     a=torch.tensor([1.2,2.3])
     c=a.unsqueeze(-1)
    f=torch.rand(4,32,14,14)
    b=b.unsqueeze(1).unsqueeze(2).unsqueeze(0)
    b.shape
    torch.Size([1,32,1,1])

相反squeeze方法作用是将某一维度合并,但这一维度必须为1

expand操作方法
b.shape
torch.Size([1,32,1,1])
b.expand(4,32,14,14).shape
torch.Size([4,32,14,14])
b.expand(-1,32,-1,-1).shape
torch.Size([1,32,1,1])
repeate重复次数
b.shape
torch.Size([1,32,1,1])
b.repeat(4,32,1,1).shape
torch.Size([4,1024,1,1])
b.repeat(4,1,1,1).shape
torch.Size([4,32,1,1])
b.repeat(4,1,32,32)
torch.Size([4,32,32,32])
转制操作.t

a=torch.randn(3,4)
a.t()
生成4X3的矩阵只能使用2D矩阵

transpose QQ截图20190708155442.jpg
a=torch.tensor(3.14)
a.floor(),a.ceil(),a.trunc(),a.frac()
tensor(3.),tensor(4.),tensor(3.),tensor(0.1400)
四舍五入
a=torch.tensor(3.499)
a.round()
tensor(3.0)
a=torch.tensor(3.5)
a.round()
tensor(4.)
a=torch.arange(8).view(2,4).float()
tensor([[0,1,2,3],
           [4,5,6,7]])
a.min(),        a.max(),       a.mean(),       a.prod()
最小值:0,最大值:7,平均值:3.5,累乘0
a.sum()
累加28
a.argmax(),          a.argmin()
不指定dim的话转化为一维索引为7,0
上一篇下一篇

猜你喜欢

热点阅读