l = np.random.beta(20, 20)
index = torch.randperm(inputs.size(0))
images_a, images_b = inputs, inputs[index]
labels_a, labels_b = inputs, labels[index]
mixed_images = l * images_a + (1 - l) * images_b
mixed_images = mixed_images.to(device)
labels_a = labels_a.to(device)
labels_b = labels_b.to(device)
optimizer.zero_grad()
outputs = model(mixed_images)
loss = l * loss_function(outputs, labels_a) + (1 - l) * loss_function(outputs, labels_b)
遇到问题不要慌~
报错在最后一行,意味着loss_function,参数类型有错误,所以可以把labels类型该为long类型
labels.long(),so Easy
But好像问题还没解决,仔细一看
labels_a, labels_b = inputs, labels[index]
这是什么鬼!
so:
labels_a, labels_b = labels, labels[index];
好像不加long()也不报错了。。。
这类错误应该就是输入类型不对导致的,变换类型或者检查输入;
感谢收看,欢迎一键三连!😄