Я использовал loss_val.item () вместо loss_val.data [0] в моем коде, потому что новая версия python не поддерживает это, но, как вы можете видеть здесь, но я получаю сообщение об ошибке для сбора Loss в списке
"объект с плавающей точкой не повторяется"
знаете, что мне делать?
num_epochs = 10 потерь = [] для эпохи в диапазоне (num_epochs): для i, (входы, цели) в перечислении (train_dl): входы = to_var (входы) # преобразовать в переменные цели = to_var (цели)
# forwad pass
optimizer.zero_grad()
outputs = model(inputs)
# loss
loss_val = criterion(outputs, targets)
**losses+= loss_val.item()**
# backward pass
loss_val.backward()
# update parameters
optimizer.step()
#W=W-Ir*dW
# report
if (i + 1) % 50 == 0:
print('Epoch [%2d/%2d], Step [%3d/%3d], Loss: %.4f'% (epoch + 1, num_epochs, i + 1, len(train_ds) // batch_size, loss_val.item()))