当前位置:   article > 正文

ModuleNotFoundError: No module named ‘tensorflow.keras‘报错信息的解决方法_modulenotfounderror: no module named 'tensorflow.k

modulenotfounderror: no module named 'tensorflow.keras

ModuleNotFoundError: No module named 'tensorflow.keras’报错信息的解决方法

Index 目录索引
错误信息
解决方法
适用于Windows用户的方法
适用于Linux用户的方法

在使用深度学习方法,训练人工神经网络模型比如EfficientNet的时候,由于keras库等文件安装目录不同的原因,因为不兼容可能会报出各种各样的错误,此系列专注记录本人在训练时候遇到的各种错误解决方法,供大家参考和学习。
错误信息:
话不多说,首先抛出错误信息:

Traceback (most recent call last):
  File "**/training.py", line 4, in <module>
    from tensorflow.keras import models
ModuleNotFoundError: No module named 'tensorflow.keras'
  • 1
  • 2
  • 3
  • 4

报错信息是个好东西,你要学会如何从报错信息中发掘出有用的东西来。
此错误信息对应的代码块如下:

from tensorflow.keras import models
from tensorflow.keras import layers
from tensorflow.keras import optimizers
from tensorflow.keras.preprocessing.image import ImageDataGenerator
  • 1
  • 2
  • 3
  • 4

解决方法:
我们发现在引包的时候出现了上述的这个错误,是因为keras库安装目录不兼容的原因,我们先找到自己keras的本地安装目录,这里分别就Windows用户和Linux用户介绍方法如下:

适用于Windows用户的方法:
我们不妨先新建一个python文件keras_dir.py,用于输出keras的本地安装目录,在新建的python文件中输入如下代码,即可查询keras的本地目录所在(需要注意的是下面这段代码中的path两侧均为双下划线)。

from tensorflow import keras
print(keras.__path__)
  • 1
  • 2

运行keras_dir.py后显示输出如下:


D:\Anaconda3-5.1.0\envs\tensorflow-gpu\python.exe  **/keras_dir.py
['D:\\Anaconda3-5.1.0\\envs\\tensorflow-gpu\\lib\\site-packages\\tensorflow\\tools\\api\\generator\\api\\keras']


Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

通过输出的信息,我们可以得知keras是安装在了本地磁盘中D盘下的D:\Anaconda3-5.1.0\envs\tensorflow-gpu\Lib\site-packages\tensorflow\tools\api\generator\api\keras这个目录中。不同的电脑可能输出不一样找到keras所在的目录类比一下就可以了

仔细观察这个目录路径,我们可以发现keras并不是直接在tensorflow目录下的,在tensorflow和keras之间还隔着几个目录,所以我们就可以通过正确输入keras的目录位置来成功调用keras库了,文章最开始的keras调用语句修改后如下

from tensorflow.tools.api.generator.api.keras import models
from tensorflow.tools.api.generator.api.keras import layers
from tensorflow.tools.api.generator.api.keras import optimizers
from tensorflow.tools.api.generator.api.keras.preprocessing.image import ImageDataGenerator
  • 1
  • 2
  • 3
  • 4

修改后再次运行,就可以发现不会再出现这个报错信息了。

适用于Linux用户的方法
同样的,依旧是先创建python文件keras_dir.py,运行keras_dir.py后显示输出如下:

[**@** EfficientNet]# python keras_dir.py
['/usr/local/python3/lib/python3.6/site-packages/tensorflow/_api/v1/keras']
  • 1
  • 2

可以看到keras的安装目录,我们按照目录来修改程序调用keras库的语句:

from tensorflow._api.v1.keras import models
from tensorflow._api.v1.keras import layers
from tensorflow._api.v1.keras import optimizers
from tensorflow._api.v1.keras.preprocessing.image import ImageDataGenerator
  • 1
  • 2
  • 3
  • 4

至此,我们就成功解决了ModuleNotFoundError: No module named 'tensorflow.keras’这个错误。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/225069
推荐阅读
相关标签
  

闽ICP备14008679号