TypeError: __array__() takes 1 positional argument but 2 were given

问题描述:今天跑BTS的代码,各种报错。神奇的是看大家都没有问题,只有我遇到各种奇葩问题,点太背。


问题一、TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

这个问题大家的解决办法都是先将gpu数据拷到cpu,再保存。但是我遇到的情况貌似不是这样。之前有人遇到是因为torch版本不对,于是我重装了各种版本各种组合,均不成功。

只有将部分代码先注释掉,之后再仔细看看。

问题二:TypeError: __array__() takes 1 positional argument but 2 were given

这个问题更奇葩,图像读取时的报错。大致是下面这种情况:


np.array(img) # OK
np.array(img, dtype=np.float64) # Error

也是搜了很久,终于发现有个大佬提出是PIL的bug,版本从8.3降到8.2解决………………………………………………

上一篇:使用elementUI 的 el-cascader 报错 TypeError: Cannot read property ‘level‘ of null“ 的解决办法


下一篇:element 上传组件Uncaught TypeError: Cannot set property ‘status‘ of undefined 的原因和解决办法