Found dtype Double but expected Float
在参与计算的时候两个参与loss计算的值要一样啊
y_pred = model(train_x,batch_size)
# 训练过程中,正向传播生成网络的输出,计算输出和实际值之间的损失值
# 在参与计算的时候 两个loss参与值的类型要一样啊
y_pred= y_pred.cpu().float()
train_y=train_y.float()
single_loss = loss_function(y_pred,train_y)
single_loss.backward() # 调用backward()自动生成梯度
optimizer.step() # 使用optimizer.step()执行优化器,把梯度传播回每个网络
错误:ValueError: Shapes (6, 1) and (6, 20) are incompatible
解析:
如果y是one-hot encoding格式,使用sparse_categorical_crossentropy
[1,0,0]
[0,1,0]
[0,0,1]
如果