最近想学习一下Keras,利用Conda创建的TensorFlow2.0环境开始进入Keras。刚开始搭建网络,TensorFlow2.0推荐使用Keras来构建网络结构。但是当我根据教程引入Keras时显示没有这个库。。具体是这样敲的。
报错显示我没有Keras,无法导入。通过网上搜索没发现有效的解决方法。换一种思路去搜索试试,显示TensorFlow没有Keras会不会是由于我的路径错了,会不会是我的TensorFlow版本里Keras放到了其它地方呢?我继续网上搜索tensorflow.keras路径,利用下边的代码可以查看TensorFlow路径和Keras路径。
import tensorflow as tf
from tensorflow import keras
print(tf.__path__)
print(keras.__path__)
最终显示结果是这样的,当然可能会有不同的结果:
会发现Keras和TensorFlow的路径不一样,中间加了好多。。那问题来了,这条路上有两个Keras,我该使用哪一个呢?
首先我试一试第一个
from tensorflow_core.python.keras import layers
网络搭建好像是可以的,但当我使用optimizers,用同样的方法引入optimizers。使用apply_gradients时继续报错,显示没有该方法,确实没有,里边只有get_update()方法,第一个Keras路径失败。
使用第二个Keras路径:
from tensorflow_core.python.keras.api._v2.keras import optimizers
没问题,后边训练和测试都完美通过了。开始Keras高阶学习模式!
如果对tf.keras和keras区别感兴趣,可以看一看下边的博客,这篇博客对我解决这个问题有很大帮助!
https://blog.csdn.net/Eric_Blog_CSDN/article/details/88420234