我在这里遗漏了一些东西:为什么@echo off
for /F "tokens=1-2" %%a in (input_file.txt) do (
echo %%a
echo %%b
)
不能用于一维张量?
CrossEntropyLoss
from torch import Tensor
X =Tensor([1.0,2.0,3.0])
labs = Tensor([2,2,3])
loss = nn.CrossEntropyLoss().forward(X,labs)
为什么会失败,应该进行哪些更改以获得理想的结果?
答案 0 :(得分:1)
该问题在pytorch论坛here中进行了讨论。正如Prajot正确指出的那样,单个输入样本具有三个不同的标签通常是没有意义的,因此每个输入仅接受一个标签。论坛上的帖子讨论了可能有用的高级用例的变通方法。
答案 1 :(得分:0)
如果您看到文档here!
Input: (N,C) where C = number of classes
Target: (N) where each value is 0 <= targets[i] <= C-1
Output: scalar. If reduce is False, then (N) instead.
因此它期望输入为2D张量 并定位为一维
import torch
from torch import Tensor
X =Tensor([[1.0,2.0,3.0]]) #2D
labs = torch.LongTensor([2]) # 0 <= targets[i] <= C-1
loss = nn.CrossEntropyLoss().forward(X,labs)