怎么做网站的外部连接,SEO做得最好的网站,酒店网站建设工作,英文网站 icp备案号PyTorch数据操作
# 导入PyTorch
import torch
[张量表示一个由数值组成的数组#xff0c;这个数组可能有多个维度]。
具有一个轴的张量对应数学上的向量#xff08;#xff09;#xff1b; 具有两个轴的张量对应数学上的矩阵#xff08;matrix#xff09;#xff1b;…PyTorch数据操作
# 导入PyTorch
import torch
[张量表示一个由数值组成的数组这个数组可能有多个维度]。
具有一个轴的张量对应数学上的向量 具有两个轴的张量对应数学上的矩阵matrix 具有两个轴以上的张量没有特殊的数学名称。
首先我们可以使用 arange 创建一个行向量 x。这个行向量包含以0开始的前12个整数它们默认创建为整数。也可指定创建类型为浮点数。张量中的每个值都称为张量的 元素element。例如张量 x 中有 12 个元素。除非额外指定新的张量将存储在内存中并采用基于CPU的计算。
x torch.arange(15)
x
#:tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14])
[可以通过张量的shape属性来访问张量沿每个轴的长度的*形状*] (和张量中元素的总数)。
x.shape
#:torch.Size([15])
如果只想知道张量中元素的总数即形状的所有元素乘积可以检查它的大小size。 因为这里在处理的是一个向量所以它的shape与它的size相同。
x.numel()
#:15
[要想改变一个张量的形状而不改变元素数量和元素值可以调用reshape函数。] 例如可以把张量x从形状为12,的行向量转换为形状为3,4的矩阵。 这个新的张量包含与转换前相同的值但是它被看成一个3行4列的矩阵。 要重点说明一下虽然张量的形状发生了改变但其元素值并没有变。 注意通过改变张量的形状张量的大小不会改变。
X x.reshape(3,5)
X
#:
tensor([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14]])
我们不需要通过手动指定每个维度来改变形状。 也就是说如果我们的目标形状是高度,宽度 那么在知道宽度后高度会被自动计算得出不必我们自己做除法。 在上面的例子中为了获得一个3行的矩阵我们手动指定了它有3行和4列。 幸运的是我们可以通过-1来调用此自动计算出维度的功能。 即我们可以用x.reshape(-1,4)或x.reshape(3,-1)来取代x.reshape(3,4)。
有时我们希望[使用全0、全1、其他常量或者从特定分布中随机采样的数字]来初始化矩阵。 我们可以创建一个形状为2,3,4的张量其中所有元素都设置为0。代码如下
torch.zeros((2,3,4))
#:
tensor([[[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]],
[[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]]])
同样我们可以创建一个形状为(2,3,4)的张量其中所有元素都设置为1。代码如下
torch.ones((2,3,4))