Dhr*_*odi 21 python machine-learning keras tensorflow google-colaboratory
我通过谷歌colab训练我的CNN(VGG)并生成.h5文件.现在的问题是,我可以通过谷歌colab成功预测我的输出,但是当我下载.h5训练模型文件并尝试预测我的笔记本电脑上的输出时,我在加载模型时遇到错误.
这是代码:
import tensorflow as tf
from tensorflow import keras
import h5py
# Initialization
loaded_model = keras.models.load_model('./train_personCount_model.h5')
Run Code Online (Sandbox Code Playgroud)
而错误:
ValueError: Unknown initializer: GlorotUniform
Run Code Online (Sandbox Code Playgroud)
小智 20
我解决了这个问题:
之前:
from keras.models import load_model
classifierLoad = load_model('model/modeltest.h5')
为我工作
import tensorflow as tf
classifierLoad = tf.keras.models.load_model('model/modeltest.h5')
小智 19
我遇到了同样的问题。更改后:
from tensorflow import keras
至:
import keras
生活再次值得生活。
小智 18
哇,我刚刚花了6个小时来解决这个问题。Dmitri在这里发布了一个解决方案:我在Google colab上训练了一个keras模型。现在无法将其本地加载到我的系统上。
我基本上只是在这里重新发布它,因为它对我有用。
这看起来像是keras中的某种序列化错误。如果用下面的CustomObjectScope包裹您的load_model,那么所有东西都应该工作。
import keras
from keras.models import load_model
from keras.utils import CustomObjectScope
from keras.initializers import glorot_uniform
with CustomObjectScope({'GlorotUniform': glorot_uniform()}):
model = load_model('imdb_mlp_model.h5')
Run Code Online (Sandbox Code Playgroud)
0x0*_*01h 12
改变中
from keras.models import load_model
Run Code Online (Sandbox Code Playgroud)
至
from tensorflow.keras.models import load_model
Run Code Online (Sandbox Code Playgroud)
解决了我的问题!
要消除错误,请直接从Keras或TensorFlow 导入所有内容。将它们混合在同一项目中可能会导致问题。
归档时间: |
|
查看次数: |
17817 次 |
最近记录: |