torch.tensor
是 PyTorch 中的一个函数,用于创建一个新的张量(tensor)。
张量是 PyTorch 中的基本数据结构,用于存储多维数组的数据。
使用 torch.tensor
函数时,你可以传递一个已有的数据结构(如列表、元组或 NumPy 数组)作为参数,并指定所需的数据类型(dtype)和设备(device,即 CPU 或 GPU)。
下面是一些使用 torch.tensor
的例子:
例子 1:从 Python 列表创建张量
import torch | |
# 从 Python 列表创建一个一维张量 | |
data = [1, 2, 3, 4] | |
tensor = torch.tensor(data) | |
print(tensor) |
例子 2:指定数据类型
import torch | |
# 从 Python 列表创建一个一维张量,并指定数据类型为 float32 | |
data = [1, 2, 3, 4] | |
tensor = torch.tensor(data, dtype=torch.float32) | |
print(tensor) |
例子 3:从 NumPy 数组创建张量
import numpy as np | |
import torch | |
# 创建一个 NumPy 数组 | |
numpy_array = np.array([1, 2, 3, 4]) | |
# 从 NumPy 数组创建一个张量 | |
tensor = torch.tensor(numpy_array) | |
print(tensor) |
例子 4:指定设备(CPU 或 GPU)
import torch | |
# 检查是否有可用的 GPU | |
if torch.cuda.is_available(): | |
device = torch.device('cuda') # 使用 GPU | |
else: | |
device = torch.device('cpu') # 使用 CPU | |
# 从 Python 列表创建一个一维张量,并指定设备 | |
data = [1, 2, 3, 4] | |
tensor = torch.tensor(data, device=device) | |
print(tensor) |
例子 5:创建多维张量
import torch | |
# 从 Python 嵌套列表创建一个二维张量 | |
data = [[1, 2], [3, 4]] | |
tensor = torch.tensor(data) | |
print(tensor) |
使用 torch.tensor
时需要注意,它会创建一个新的张量,并且会尽可能地保留原始数据的形状和数据类型。
如果你想要根据已有的张量创建具有相同数据的新张量,但具有不同的形状或数据类型,你可能需要使用其他函数,如 torch.reshape
、torch.to
等。