keep__smile 2021-05-14 11:18 采纳率: 0%
浏览 31

can't convert a given np.ndarray to a tensor


source_label_ce = Variable(torch.from_numpy(ids_cvt[source_label.argmax(-1)]).long(), requires_grad=False).cuda()
CE_loss = CE(source_seen_output * self.cross_entropy_lambda, source_label_ce)

RuntimeError: can't convert a given np.ndarray to a tensor - it has an invalid type. The only supported types are: double, float, int64, int32, and uint8. pytorch报错怎么改?

  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-05-14 11:45
    关注

    由于读入的numpy数组里的元素是object类型,无法将这种类型转换成tensor。

    所以,将numpy数组进行强制类型转换成float类型(或者任何pytorch支持的类型:float64, float32, float16, int64, int32, int16, int8, uint8, and bool)即可。

    trainx = trainx.astype(float)

    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集