关于numpy库的报错记录

作者在安装完TensorFlow后遇到numpy库的np.object被弃用错误,通过降低numpy版本或替换np.object为object解决了这个问题,具体涉及修改了tensorflow框架中的几个文件。
摘要由CSDN通过智能技术生成

这两天安装完tensorflow后,根据需要我再次安装了seaborn及其依赖的库,结果报我numpy的库错误。
报错内容如下:

module ‘numpy’ has no attribute ‘object’. np.object was a deprecated alias for the builtin object. To avoid this error in existing code, use object by itself. Doing this will not modify any behavior and is safe. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

我在csdn上找了很多类似报错的博客,基本上都说是需要降低numpy库的版本,没毛病,错误原因确实是numpy版本太高了,不兼容。
但是我在安装seaborn之前是兼容的,后来查了资料,还有一种解决方案:
换句人话就是:

这个错误是因为在NumPy版本1.20中,np.object这个别名被弃用了,而你的代码中使用了这个别名。错误信息建议你将np.object替换为object,因为np.object的功能与object完全相同,但是np.object已经在1.20版本中被移除了。

所以,你需要在代码中找到所有的np.object并将其替换为object。这样做不会改变代码的行为,但是可以确保你的代码在新版本的NumPy中仍然能够正常运行。
既然如此,这也是方法,
然后就根据报错信息,对应的位置,将np.object修改了
,然后继续运行,继续报修改的错误,按照错误位置,再继续找哪些位置需要修改
总的下来修改了三个文件的若干变量名称

在 C:\Users\87047.conda\envs\dxtf\Lib\site-packages\tensorflow\python\framework的目录下
在这个文件dtype中改了两个object,一个bool
分别是585、628np.object==>object
639行np.bool==>bool
tensor_util文件修改
176行np.object==>object
在~.conda\envs\dxtf\lib\site-packages\tensorflow\python\ops\numpy_ops\np_random.py
下的文件np_random.py
第110行
np_random.py中修改onp.int==>int
注意:在framework文件夹下有一个_dtype的.py文件,不要修改到这个,我第一次看的时候,差点要修改这个文件了。

然后就没有任何报错了,目前看来没有任何问题,并将原来未修改的文件做好备份。
备份还是很重要的,如果出问题,可以改回去

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值