Pytorch学习笔记1-张量数据结构
由于时效问题,该文某些代码、技术可能已经过期,请注意!!!本文最后更新于:3 年前
张量的数据类型、张量的维度、张量的尺寸、张量和numpy数组等
Pytorch的基本数据结构是张量Tensor。张量即多维数组。Pytorch的张量和numpy中的array很类似。
张量的数据类型
张量的数据类型和numpy.array基本一一对应,但是不支持str类型。包括:
1 |
|
一般神经网络建模使用的都是torch.float32类型。
1 |
|
张量的维度
不同类型的数据可以用不同维度(dimension)的张量来表示。标量为0维张量,向量为1维张量,矩阵为2维张量。彩色图像有rgb三个通道,可以表示为3维张量。视频还有时间维,可以表示为4维张量。
可以简单地总结为:有几层中括号,就是多少维的张量。
1 |
|
张量的尺寸
可以使用 shape属性或者 size()方法查看张量在每一维的长度.可以使用 view 方法改变张量的尺寸。
如果view方法改变尺寸失败,可以使用reshape方法.
1 |
|
张量和numpy数组
可以用numpy方法从Tensor得到numpy数组,也可以用torch.from_numpy从numpy数组得到Tensor。这两种方法关联的Tensor和numpy数组是共享数据内存的。如果改变其中一个,另外一个的值也会发生改变。如果有需要,可以用张量的clone方法拷贝张量,中断这种关联。
此外,还可以使用item方法从标量张量得到对应的Python数值。使用tolist方法从张量得到对应的Python数值列表。
1 |
|
搬运自:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!