LGCN使用pytorch交叉损失函数报错:
RuntimeError: expected scalar type Long but found Int
问题原因:
nn.CrossEntropyLoss(output, target)中的output和target的类型分别为float和long,所以我们需要对这两者的类型做相应转换。
解决方法:
因为这里的输入是label和z,所以需要对两者的类型进行转换。
label = th.from_numpy(label).long()
# Forward
z = model(g, lg, pmpd).float()
结果:
正常运行!