gpt4 book ai didi

numpy - PyTorch - 到 NumPy 会产生未确定大小的对象?

转载 作者:行者123 更新时间:2023-12-04 13:39:43 25 4
gpt4 key购买 nike

将 PyTorch 张量转换为 NumPy 我得到

print(nn_result.shape)
# (2433, 2)
np_result = torch.argmax(nn_result).numpy()
type(np_result)
# <type 'numpy.ndarray'>
print(len(np_result))
TypeError: len() of unsized object

为什么?我认为根据文档 numpy()函数将返回一个正确的 ndarray ,但不知何故似乎不完整?

最佳答案

也许你想使用 torch.argmax(nn_result, dim=1) ?自 dim默认为 0,它只返回一个构造为张量的数字。让我用下面的例子来说明:

>>> x = np.array(1)
>>> x.shape
()
>>> len(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: len() of unsized object
>>> x = np.array([1])
>>> x.shape
(1,)
>>> len(x)
1

本质上 np.array将占用任何 object您构建的类型。在第一种情况下, object 不是数组,因此您看不到有效的形状。由于它不是调用 len 的数组抛出错误。
torch.argmaxdim=0返回一个张量,如上例的第一种情况所示,因此返回错误。

关于numpy - PyTorch - 到 NumPy 会产生未确定大小的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com