python2到python3代码错误汇总

本文总结了Python编程中常见的三个错误:1. 不能用float类型数据进行数乘,需转换为int类型;2. 访问0维张量索引时的错误,需使用.item()转换为数值;3. DataLoader工作进程中的TypeError,解决方案是将num_workers设为0。了解这些错误的成因和解决策略能帮助开发者避免和修复问题。

1. 算术运算报错 can’t multiply sequence by non-int of type ‘float’

原因:用了float数据进行数乘,需要用iny型数据
根本原因:python2中 A/B 返回int型数据,而python3中 A/B 返回float型数据
解决方案:把 A/B 改为 A//B 即可

2. IndexError: invalid index of a 0-dim tensor. Use tensor.item() in Python or tensor.item<T>() in C++ to convert a 0-dim tensor to a number

原因:使用了loss.data[0]
解决方案:loss.data[0] 更改为loss.item() ;如果是其他tensor提示,改成tensor.item()

3. TypeError: Caught TypeError in DataLoader worker process 0.错误

原因:dataloader的num_workers出现错误
解决方案:修改dataloader的num_worker为0即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值