解决运用keras库时遇见小问题的文章
step1:
由于tensorflow的开发者在keras基础上做了优化,keras是支持python3的,因为tensorflow已经将keras纳入进去了,在这种情况下,我们导入模块时,可以将
from keras.layers.core import Activation, Dense, Dropout, Lambda
修改为:
from tensorflow.python.keras.layers.core import Activation, Dense, Dropout, Lambda
修改完这些后,可能还是会出现No module named keras.layers.normalization等问题
这时我们进行step2:
在使用tensorflow的时候,我们应该注意python版本与TensorFlow版本兼容问题。
我本身的Python版本是3.11,并不适合安装TensorFlow(由于python版本太高,我们需要给tensorflow匹配一个更简单的版本),于是在anconda中创建了虚拟环境并设定python版本是3.6.5。
而我的Anaconda默认是python3.11(可在cmd中输入python --version检查自己默认的版本),如果直接用多版本共存的情况,对于之后的运行所需要的tensorflow等环境的版本又有冲突,所以这时最好的办法就是在Anaconda下创建虚拟环境。
创建虚拟环境步骤:
conda create -n py36 python=3.6.5
“-n”命令,会将虚拟环境安装在anaconda已安装路径默认的envs目录下,名称是py36的python3.6.5的环境
如果需要使用py36必须先激活,命令如下:
conda activate py36
退出虚拟环境
conda deactivate
此时进入虚拟环境后,安装tensorflow与Python3.6.5兼容的版本,并输入以下指令:
pip install keras==2.4.3
pip install tensorflow==2.3.1
Tensorflow=2.3.1 numpy=1.19.5 keras=2.4.3 这是对应的可用的版本关系
参考文章:ModuleNotFoundError: No module named 'keras' 错误提示情况及解决方法_fangwancheng的博客-CSDN博客Anaconda下创建虚拟环境——实现python2.7与python3.6版本共用_L_0000的博客-CSDN博客