赞
踩
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'
报错信息是个好东西,你要学会如何从报错信息中发掘出有用的东西来。
此错误信息对应的代码块如下:
from tensorflow.keras import models
from tensorflow.keras import layers
from tensorflow.keras import optimizers
from tensorflow.keras.preprocessing.image import ImageDataGenerator
解决方法:
我们发现在引包的时候出现了上述的这个错误,是因为keras库安装目录不兼容的原因,我们先找到自己keras的本地安装目录,这里分别就Windows用户和Linux用户介绍方法如下:
适用于Windows用户的方法:
我们不妨先新建一个python文件keras_dir.py,用于输出keras的本地安装目录,在新建的python文件中输入如下代码,即可查询keras的本地目录所在(需要注意的是下面这段代码中的path两侧均为双下划线)。
from tensorflow import keras
print(keras.__path__)
运行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
通过输出的信息,我们可以得知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
修改后再次运行,就可以发现不会再出现这个报错信息了。
适用于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']
可以看到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
至此,我们就成功解决了ModuleNotFoundError: No module named 'tensorflow.keras’这个错误。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。