1.张量初始化
方法一:由原始数据直接生成张量, 张量类型由原始数据类型决定。
data = [[1, 2], [3, 4]]
x_data = torch.tensor(data)
print(x_data)
方法二:由已有的Numpy
数组来生成张量(反过来也可以由张量来生成Numpy
数组。
np_array = np.array([[1, 2], [3, 4]])
x_np = torch.from_numpy(np_array)
print(x_np)
方法三:新的张量将继承已有张量的数据属性(结构、类型), 也可以重新指定新的数据类型。
data = [[1, 2], [3, 4]]
x_data = torch.tensor(data)
x_ones = torch.ones_like(x_data) # 保留 x_data 的属性
print(f"Ones Tensor: \n {x_ones} \n")
x_rand = torch.rand_like(x_data, dtype=torch.float) # 重写 x_data 的数据类型:int -> float
print(f"Random Tensor: \n {x_rand} \n")
方法四:通过指定数据维度来生成张量。shape
是元组类型, 用来描述张量的维数, 下面3个函数通过传入shape
来指定生成张量的维数。
shape = (2,3,)
rand_tensor = torch.rand(shape)
ones_tensor = torch.ones(shape)
zeros_tensor = torch.zeros(shape)
print(f"Random Tensor: \n {rand_tensor} \n")
print(f"Ones Tensor: \n {ones_tensor} \n")
print(f"Zeros Tensor: \n {zeros_tensor}")