所以我认为tensorflow.keras和独立的keras包有冲突,我无法加载我通过迁移学习制作的模型。在 CNN ipynb 中导入:
!pip install tensorflow-gpu==2.0.0b1
import tensorflow as tf
from tensorflow import keras
print(tf.__version__)
Run Code Online (Sandbox Code Playgroud)
加载这个预训练模型
base_model = keras.applications.xception.Xception(weights="imagenet",
include_top=False)
avg = keras.layers.GlobalAveragePooling2D()(base_model.output)
output = keras.layers.Dense(n_classes, activation="softmax")(avg)
model = keras.models.Model(inputs=base_model.input, outputs=output)
Run Code Online (Sandbox Code Playgroud)
保存方式:
model.save('Leavesnet Model 2.h5')
Run Code Online (Sandbox Code Playgroud)
然后在已训练模型的新 ipynb 中(导入与 CNN ipynb 中的相同:
from keras.models import load_model
model =load_model('Leavesnet Model.h5')
Run Code Online (Sandbox Code Playgroud)
我收到错误:
AttributeError Traceback (most recent call last)
<ipython-input-4-77ca5a1f5f24> in <module>()
2 from keras.models import load_model
3
----> 4 model =load_model('Leavesnet Model.h5')
13 frames
/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in placeholder(shape, ndim, dtype, sparse, name)
539 …Run Code Online (Sandbox Code Playgroud)