python - Keras:以适合 Google Cloud ML Engine 的格式保存模型(缺少功能)
问题描述
我正在尝试在 Google Cloud ML Engine 上部署最近训练的 Keras 模型。我四处搜索以查看保存的模型对于 ML Engine 需要采用什么格式,然后发现:
import keras.backend as K
import tensorflow as tf
from keras.models import load_model, Sequential
from tensorflow.python.saved_model import builder as saved_model_builder
from tensorflow.python.saved_model import tag_constants, signature_constants
from tensorflow.python.saved_model.signature_def_utils_impl import predict_signature_def
# reset session
K.clear_session()
sess = tf.Session()
K.set_session(sess)
# disable loading of learning nodes
K.set_learning_phase(0)
# load model
model = load_model('model.h5')
config = model.get_config()
weights = model.get_weights()
new_Model = Sequential.from_config(config)
new_Model.set_weights(weights)
# export saved model
export_path = 'YOUR_EXPORT_PATH' + '/export'
builder = saved_model_builder.SavedModelBuilder(export_path)
signature = predict_signature_def(inputs={'NAME_YOUR_INPUT': new_Model.input},
outputs={'NAME_YOUR_OUTPUT': new_Model.output})
with K.get_session() as sess:
builder.add_meta_graph_and_variables(sess=sess,
tags=[tag_constants.SERVING],
signature_def_map={
signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: signature})
builder.save()
但是,在 Keras 2.1.3 中,keras.backend
似乎不再具有clear_session(), set_session()
, 或get_session()
. 处理这个问题的现代方法是什么?这些功能现在是否存在于其他地方?
谢谢!
解决方案
推荐阅读
- python-3.x - 使用 PyMC3 和大型数据集进行贝叶斯线性回归 - 括号嵌套级别超过最大值且性能缓慢
- javascript - 在 React 组件中保持基本状态
- python - 使用 matplotlib.pyplot 绘制多个字典值
- firebase - 使用 Firestore 保存和查询大列表
- amazon-web-services - AWS 豆茎 | PHP 平台上的 NPM
- c# - 带有可见选项卡的 UWP XAML 菜单弹出窗口
- python-3.x - predict 方法中的 XgBoost validate_features 参数。validate_features 有什么作用?
- python - Python Difflib 模块忽略空格 (HTMLDiff)
- php - WordPress 下一篇文章
- sql - HiveSQL 访问 JSON 数组值