`empty()`如何计算 PyTorch 中的值?

问题描述 投票:0回答:2

每次运行

torch.empty(5, 3)
我都会得到这两个结果之一:

>>> torch.empty(5, 3)
tensor([[     0.0000,      0.0000,      0.0000],
        [     0.0000,      0.0000,      0.0000],
        [     0.0000,      0.0000,      0.0000],
        [     0.0000,     -0.0000,      0.0000],
        [     0.0000,      0.0000, -50716.6250]])
>>> torch.empty(5, 3) 
tensor([[0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000],
        [0.0000, 0.0000, 0.0000]])

我多次尝试,但仍然得到这两个结果之一。我尝试更改尺寸数字

-50716.6250
再次出现。

这里的值是随机的吗?为什么这些数字会重复出现?

python numpy random pytorch torch
2个回答
4
投票

torch.empty
返回“充满未初始化数据的张量。”

如果您想要一个用零填充的张量,请使用

torch.zeros


0
投票

来自 empty() 的值是随机的,但它们来自未初始化的内存,因此它们被称为 未初始化数据未初始化的数据不是基于随机种子,因此无法使用manual_seed()控制它们来生成相同的随机值,设置特定的种子,但

empty()
速度很快,因为不需要内存初始化。

© www.soinside.com 2019 - 2024. All rights reserved.