执行代码:
from tensorflow.keras import layers
报错:
keras模块不存在
查,有其他博客表示keras包在tensorflow模块的pyhon包中;
于是:
from tensorflow.python.keras import layers
在类似的如此调用keras的其他模块,前面没有大问题,但是最后存在模型报错的原因。
于是我尝试这么去做(不正确,虽然能成功,但是不是你所想的)
先从tensorflow模块中调用出keras模块,然后再从keras模块调用其他模块,即:
from tensorflow import keras
from keras import layers, optimizers
有理由怀疑二者(tensorflow.python.keras与上述方法)应该不是同一个keras,或者至少存在不同;
有博客指出,在tensorflow中存在keras文件夹:
不过其还是报错,得换用tensorflow.python.keras才可以解决;
而我的文件夹中不存在keras,虽然换用tensorflow.python.keras也可以解决,但是最后模型保存存在问题,似乎是get_config问题,但是我并没有自定义网络层。
于是我尝试去这么干:
from tensorflow import keras # used to create the CNN model
from keras.layers import Dense, Conv2D, Flatten, Dropout # used to create the CNN mode
print(keras.__version__)
# view the keras path
print(keras.__path__)
输出:
2.12.0
['D:\\Python310\\lib\\site-packages\\keras\\api\\_v2\\keras']
好家伙,原来有一个单独的keras模块(但是我记得我没有安装这个,不清楚了) :
后来才知道,keras模块从tensorflow中独立开来了,所以解决如何从tensorflow中调用keras模型的问题就是不从tensorflow中调用,而是pip 安装 keras模块。