为什么 PyTorch 内置的损失函数只对 Long 张量类型有效?

Why does PyTorch's built-in loss function only work with the Long tensor type?

所以,我正在使用:torch.nn.CrossEntropyLoss(predictions, targets),我想知道为什么目标需要是 64 位整数而不是 32 位整数?

I wonder why exactly targets need to be a 64-bit integer and not 32-bit?

这是因为 PyTorch 是预编译的。它之前的一些其他框架(不是 Tensorflow)会即时调用编译器,这可能会导致延迟和其他一些不愉快的事情。 PyTorch 没有。但这意味着开发人员必须注意预编译库的大小。他们必须在支持另一种数据类型的效用与为该数据类型编译所有内容会导致的大小增加之间取得平衡,这里的决定违背了 int32uint32uint64