1.Tensor 张量
定义:
张量(tensor)表示一个由数值组成的数组,这个数组可能有多个维度(轴)。具有一个轴的张量对应数学上的向量,具有两个轴的张量对应数学上的矩阵,具有两个以上轴的张量目前没有特定的数学名称。
import torch
# arange创建一个行向量x,这个行向量包含以0开始的前12个整数。
x = torch.arange(12)
print("x = ",x)
# x = tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
常见的属性及函数:
shape:访问张量的形状(shape,沿每个轴的长度)
print("x.shape = ",x.shape)
# x.shape = torch.Size([12])
numel:访问张量中所有元素的数量(总个数)
print("x.numel = ",x.numel())
# x.numel = 12
reshape:改变一个张量的形状而不改变元素数量和元素值
X = x.reshape(3, 4)
print("X = ",X)
# X = tensor([[ 0, 1, 2, 3],
# [ 4, 5, 6, 7],
# [ 8, 9, 10, 11]])
print("X.shape = ",X.shape)
# X.shape = torch.Size([3, 4])
print("X.numel = ",X.numel())
# X.numel = 12
zeros:使用全0来初始化张量
y = torch.zeros((2,3,4))
print("y = ",y)
# y = 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.]]])
# print("y.shape = ",y.shape)
# y.shape = torch.Size([2, 3, 4])
ones:使用全1来初始化张量
Y = torch.ones(2,3,4)
print("Y = ",Y)
# Y = tensor([[[1., 1., 1., 1.],
# [1., 1., 1., 1.],
# [1., 1., 1., 1.]],
#
# [[1., 1., 1., 1.],
# [1., 1., 1., 1.],
# [1., 1., 1., 1.]]])
randn:每个元素都从均值为0、 标准差为1的标准高斯分布(正态分布)中随机取样
z = torch.randn(3,4)
print("z = ",z)
# z = tensor([[ 0.3372, 0.3380, 0.5931, -1.1368],
# [-0.4481, -0.0213, -1.6283, -1.0876],
# [-1.1692, 0.


1979

被折叠的 条评论
为什么被折叠?



