张量是一种特殊的数据结构,非常类似于数组和矩阵。在PyTorch中,我们使用张量来编码模型的输入和输出,以及模型的参数。
张量类似于NumPy的ndarrays,只是张量可以运行在GPU或其他硬件加速器上。
import torch
import numpy as np
# tensor可以直接通过普通数据 由torch.tensor()函数产生
# 方式1:原数据为列表
data = [[1, 2],[3, 4]]
# x_data 即是tensor类型的数据
x_data = torch.tensor(data)
# 方式2:原数据为Numpy数组 由torch.from_numpy()函数产生
np_array = np.array(data)
x_np = torch.from_numpy(np_array)
# 其他方式:通过torch自带的函数 新张量保留原张量的属性(形状、数据类型),除非被显式覆盖。
x_ones = torch.ones_like(x_data) # retains the properties of x_data
print(f"Ones Tensor: n {x_ones} n")
# 原来数据为torch.int型,现在改为float。注意,是torch.float。torch.int指张量中数据的类型是整型,区别于普通的一个整型的变量 int i=1
x_rand = torch.rand_like(x_data, dtype=torch.float)
print(f"Random Tensor: n {x_rand} n")



