火炬命令
x = torch.Tensor(4, 3)
应该创建一个未初始化的张量(基于文档)。 但是当我们尝试打印x的内容时,那里有值。
>>>from __future__ import print_function
>>>print(x)
0.0000e+00 -8.5899e+09 6.1021e-38
8.5920e+09 1.7470e-21 4.5806e-41
0.0000e+00 0.0000e+00 0.0000e+00
0.0000e+00 0.0000e+00 0.0000e+00
[torch.FloatTensor of size 4x3]
那么未初始化的含义是什么?
答案 0 :(得分:1)
这意味着PyTorch只是在张量的内存中保留了一定的区域,而没有更改其内容。
这部分内存之前被其他东西占用(其他张量,或者如果您使用CPU内存,则可能完全不同,例如浏览器,代码编辑器..)。出于性能原因,以后不会清除其中的值。
内容(以前可能完全不同)只是被解释为张量的值。
写入零或进行其他一些初始化需要计算能力,因此仅将区域保留在内存中会更快。
但是这些值也完全不受控制,值可能会变得很高,因此在许多情况下,您可能需要进行其他初始化。