2024-05-08 20:29:11 发布
网友
我已经试过了。在我看来他们是一样的。pytorch中torch.Tensor()与torch.empty()的区别是什么?
在张量构造过程中未指定dtype时,^{} is just an alias to ^{}是张量的默认类型。
dtype
从torch for numpy users notes来看,似乎torch.Tensor()是numpy.empty()的替代品
torch.Tensor()
numpy.empty()
因此,本质上torch.FloatTensor()和torch.empty()做的是返回一个由dtypetorch.float32的垃圾值填充的张量。下面是一个小跑步:
torch.FloatTensor()
torch.empty()
torch.float32
In [87]: torch.FloatTensor(2, 3) Out[87]: tensor([[-1.0049e+08, 4.5688e-41, -8.9389e-38], [ 3.0638e-41, 4.4842e-44, 0.0000e+00]]) In [88]: torch.FloatTensor(2, 3) Out[88]: tensor([[-1.0049e+08, 4.5688e-41, -1.6512e-38], [ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
In [89]: torch.empty(2, 3) Out[89]: tensor([[-1.0049e+08, 4.5688e-41, -9.0400e-38], [ 3.0638e-41, 4.4842e-44, 0.0000e+00]]) In [90]: torch.empty(2, 3) Out[90]: tensor([[-1.0049e+08, 4.5688e-41, -9.2852e-38], [ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
快速回答: empty()创建任意数据类型的张量,torch.tensor()只创建torch.FloatTensor类型的张量。 所以torch.Tensor()是torch.empty()的特例
详细答案:
empty()返回一个包含未初始化数据的张量。使用参数可以指定张量的形状、输出张量、数据类型。。。(see tensor.empty() documentation )
这意味着您可以创建一个浮点张量,int。。。如果未指定数据类型,则所选数据类型是默认的torch.Tensor类型(默认为torch.FloatTensor,您可以使用torch.set_default_tensor_type()对其进行更改)
torch.Tensor()只是torch.empty()的一个特例,其中数据类型是torch.FloatTensor。
在张量构造过程中未指定} is just an alias to ^{} 是张量的默认类型。
dtype
时,^{从torch for numpy users notes来看,似乎
torch.Tensor()
是numpy.empty()
的替代品因此,本质上
torch.FloatTensor()
和torch.empty()
做的是返回一个由dtypetorch.float32
的垃圾值填充的张量。下面是一个小跑步:快速回答: empty()创建任意数据类型的张量,torch.tensor()只创建torch.FloatTensor类型的张量。 所以torch.Tensor()是torch.empty()的特例
详细答案:
empty()返回一个包含未初始化数据的张量。使用参数可以指定张量的形状、输出张量、数据类型。。。(see tensor.empty() documentation )
这意味着您可以创建一个浮点张量,int。。。如果未指定数据类型,则所选数据类型是默认的torch.Tensor类型(默认为torch.FloatTensor,您可以使用torch.set_default_tensor_type()对其进行更改)
torch.Tensor()只是torch.empty()的一个特例,其中数据类型是torch.FloatTensor。
相关问题 更多 >
编程相关推荐