【发布时间】:2021-02-17 19:27:40
【问题描述】:
我已经构建了一个相对较深的 CNN,它可以接收 224x224 图像。我有一个大约 5000 张图像的训练集,我用它来使用传统的 for 循环方法训练我的 CNN。但是,我有一个问题,循环只打印第一个 epoch 的结果,然后继续运行(即单元格永远保持 Executing)。
我的输出代码:
#Model training
epochs = 2
for epoch in range(epochs):
running_loss = 0
#Train
cnn.train()
for images, labels in trainloader:
if cuda:
images, labels = images.to(device), labels.to(device)
optimiser.zero_grad()
outputs = cnn(images)
loss = criterion(outputs, labels)
running_loss += loss.item() * images.size(0)
loss.backward()
optimiser.step()
epochs_train_loss = running_loss / len(trainloader.dataset)
print ("Epoch {}, Training Loss: {}".format(epoch, epochs_train_loss))
输出:
Epoch 0, Training Loss: 0.3014729377767928
【问题讨论】:
-
你还没有发布这个问题吗?
标签: python for-loop neural-network pytorch conv-neural-network