torch.Tensor()
和 torch.tensor()
是 PyTorch 中两个不同的方法,用于创建张量,但使用方式有一些区别。
torch.Tensor()
- 创建一个未初始化的张量,默认数据类型为
torch.float32
,不能通过dtype
参数指定数据类型。 - 不初始化数据,即张量的内容是未定义的,可能是内存中的随机值。
- 用法: 常用于需要创建一个特定大小但未初始化的张量。
torch.tensor()
- 根据给定的数据创建一个新的张量,可以通过
dtype
参数指定数据类型。 - 用法: 用于从数据(例如列表或数组)创建张量。
示例对比
import torch
# 使用 torch.Tensor() 创建一个未初始化的张量
tensor_a = torch.Tensor(2, 3)
print("tensor_a (torch.Tensor()):")
print(tensor_a)
print(tensor_a.dtype)
# 使用 torch.tensor() 从数据创建并初始化张量
tensor_b = torch.tensor([1, 2, 3], dtype=torch.int32)
print("\ntensor_b (torch.tensor()):")
print(tensor_b)
print(tensor_b.dtype)
示例输出:
tensor_a (torch.Tensor()):
tensor([[9.9641e+00, 6.0920e+22, 4.0131e-11],
[6.4079e+22, 7.5848e+31, 3.2675e-14]])
torch.float32
tensor_b (torch.tensor()):
tensor([1, 2, 3], dtype=torch.int32)
torch.int32