- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是 PyTorch 1.5.0 版。当我传递一个大小为 [8,21,400,400] 且目标大小为 [8,400,400] 的输入 torch 张量时,程序会引发 TypeError:迭代 0-d 张量。但是,参数的维度分别为 4 和 3。
什么可能导致此错误?
回溯指向 torch\tensor.py 的 iter 函数。
Traceback (most recent call last):
File "train.py", line 108, in <module>
loss, accuracy = lossLayer(pred2, targetBatch)
File "C:\Users\PC\anaconda3\lib\site-packages\torch\tensor.py", line 462, in __iter__
raise TypeError('iteration over a 0-d tensor')
TypeError: iteration over a 0-d tensor
最佳答案
你得到这个错误是因为 nn.CrossEntropyLoss
只返回一个 torch.Tensor
,而不是一对(它不返回精度)。这个张量是 0 维的,即一个数字(除非您不将 reduction
参数重写为 'none'
以获得每个元素的损失)。因此,当您尝试将其值分配给两个变量 loss, accuracy
时,python 会尝试遍历此张量变量,因此会出现错误消息。只需使用 loss = lossLayer(pred2, targetBatch)
。
关于pytorch - 为什么 nn.CrossEntropyLoss 在我验证输入为非 0 维时抛出 "TypeError: iteration over a 0-d tensor"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62109287/
也许有人可以帮助我。我正在尝试计算网络给定输出的交叉熵损失 print output Variable containing: 1.00000e-02 * -2.2739 2.9964 -7.835
我正在尝试在 PyTorch 中对一个简单的 0,1 标记数据集执行逻辑回归。标准或损失定义为:criterion = nn.CrossEntropyLoss() .型号为:model = Logis
我知道 PyTorch 的 LogSoftmax 函数基本上只是一种在数值上更稳定的计算方式 Log(Softmax(x)) . Softmax 可让您将线性层的输出转换为分类概率分布。 pytorc
我正在尝试在 CIFAR10 数据集上训练一个非常基本的 CNN,但出现以下错误:AttributeError: 'CrossEntropyLoss' 对象没有属性 'backward' criter
我正在尝试获取 d(loss)/d(input) .我知道我有 2 个选择。 第一个选项: loss.backward() dlossdx = x.grad.data 第二种选择:
我知道当使用 nn.CrossEntropyLoss 作为损失函数时,不需要在神经网络的输出层使用 nn.Softmax() 函数。 但是我需要这样做,有没有办法抑制 nn.CrossEntropyL
我正在进行一个使用加速数据预测某些事件的项目。但是我在损失计算上有问题。我正在为此使用 CrossEntropyLoss。 数据用于它如下我使用每行的前 4 个数据来预测索引,就像每行的最后一个一样。
我使用的是 PyTorch 1.5.0 版。当我传递一个大小为 [8,21,400,400] 且目标大小为 [8,400,400] 的输入 torch 张量时,程序会引发 TypeError:迭代 0
我使用的是 PyTorch 1.5.0 版。当我传递一个大小为 [8,21,400,400] 且目标大小为 [8,400,400] 的输入 torch 张量时,程序会引发 TypeError:迭代 0
我是一名优秀的程序员,十分优秀!