如何将浮点数与亏损清单相加?我收到错误

问题描述 投票:-1回答:1

我在我的代码中使用了loss_val.item()而不是loss_val.data [0],因为新版本的python不支持该功能,但是正如您在此处看到的那样,但是在列表中收集损失我收到了错误

“'float'对象不可迭代”

你知道我该怎么办吗?

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())) 
python-3.x list syntax-error training-data loss
1个回答
0
投票

我认为我应该说更多:如果你看我的代码

1)损失= []是一个列表,然后我尝试在每次迭代中将损失添加到绘制图表中:

2)loss_val =准则(输出,目标)

3)损失+ = loss_val.item()

但我收到此错误,即“ float”对象不可迭代”

此错误分为三行

© www.soinside.com 2019 - 2024. All rights reserved.