解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题

在复现代码的时候遇到一个问题,导入from tensorflow.keras.utils import np_utils会报错。出现以下问题:

解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题

cannot import name ‘np_utils’ from ‘tensorflow.keras.utils’ (C:\Software\Anaconda3\envs\machine\lib\site-packages\tensorflow_core\python\keras\api_v2\keras\utils_init_.py)

解决方法:

由于keras版本的升级,在__init__.py里可以看到,包的迁移导致了在anaconda中就算安装了np_utils包,还是导入不进来。以我要使用到的to_categorical为例。

1.将导包的语句改成:

from tensorflow.python.keras.utils.np_utils import to_categorical

如图所示:
解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题

2.再把需要用到的语句这里
解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题

删掉前面的

np_utils.

如图:
解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题

运行结果不报错:
解决ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils‘ 的问题