Closed Zehui-Lin closed 5 years ago
迁移VGG16部分 running_loss = 0.0 running_corrects = 0 for batch, data in enumerate(dataloader[phase], 1):
X, y = data if Use_gpu: X, y = Variable(X.cuda()), Variable(y.cuda()) else: X, y = Variable(X), Variable(y) y_pred = model(X) _, pred = torch.max(y_pred.data, 1) optimizer.zero_grad() loss = loss_f(y_pred, y) if phase == "train": loss.backward() optimizer.step() running_loss += loss.data[0] running_corrects += torch.sum(pred == y.data) if batch%500 == 0 and phase =="train": print("Batch {}, Train Loss:{:.4f}, Train ACC:{:.4f}".format(batch, running_loss/batch, 100*running_corrects(16*batch))) epoch_loss = running_loss*16/len(image_datasets[phase]) epoch_acc = 100*running_corrects/len(image_datasets[phase]) print("{} Loss:{:.4f} Acc:{:.4f}%".format(phase, epoch_loss,epoch_acc))
这些行前面全部少了一个缩进
这里是jupter的截图,这里的缩进也有问题,PS:书上对应部分没有问题
此处少了一个/号
谢谢您提出来的错误,已经进行了修正。
迁移VGG16部分 running_loss = 0.0 running_corrects = 0 for batch, data in enumerate(dataloader[phase], 1):
这些行前面全部少了一个缩进