一些报错以及解决办法_1

1.报错信息:TYPEERROR: MAX() RECEIVED AN INVALID COMBINATION OF ARGUMENTS - GOT (AXIS=INT, OUT=NONETYPE, ), BUT EXPECTED ONE OF:
报错代码为:

def f1_overall_1sec(O, T, block_size):
    if len(O.shape) == 3:
        O, T = utils.reshape_3Dto2D(O), utils.reshape_3Dto2D(T) #[4096, 6]
    new_size = int(np.ceil(O.shape[0] / block_size))
    O_block = np.zeros((new_size, O.shape[1]))
    T_block = np.zeros((new_size, O.shape[1]))
    for i in range(0, new_size):
        O_block[i, :] = np.max(O[int(i * block_size):int(i * block_size + block_size - 1), ], axis=0) #报错行
        T_block[i, :] = np.max(T[int(i * block_size):int(i * block_size + block_size - 1), ], axis=0)
    return f1_overall_framewise(O_block, T_block)

我出现该错误的原因是传入的参数O和T是tensor,需要转换为numpy
报错代码行修改为:

O_block[i, :] = np.max(O[int(i * block_size):int(i * block_size + block_size - 1), ].cpu().numpy(), axis=0)

参考网址:TYPEERROR: MAX() RECEIVED AN INVALID COMBINATION OF ARGUMENTS - GOT (AXIS=INT, OUT=NONETYPE, ), BUT EXPECTED ONE OF:

2.报错信息:TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.
报错代码行为:

plt.plot(range(nb_epoch), val_loss, label='val loss')

按照报错信息添加.cpu()依然会报错list元素不支持.cpu()
报错代码修改为:

val_loss = torch.tensor(val_loss, device='cpu')
plt.plot(range(nb_epoch), val_loss, label='val loss')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值