Keras里的model.save()
方法因为底层调用了h5py的I/O方法,导致无法在PAI平台上保存模型,请问有什么解决方法吗?
可以这样,在训练阶段:
from keras import backend as K
import tensorflow as tf
sess = tf.Session()
K.set_session(sess)
然后用keras定义网络、训练网络,最后保存的时候用tensorflow的方式保存
saver = tf.train.Saver()
saver.save(K.get_session(), model_path)
在预测阶段,需要读取模型的时候可以这样:
sess = tf.Session()
model_path = xxx
K.set_session(sess)
然后重新定义一下网络结构
model = Sequential()
model.add(xxx)
就可开始导入模型了
saver = tf.train.Saver()
saver.restore(K.get_session(), model_path)
这步做完,模型参数就被导入好定义好的网络上了,即可以开始预测
model.predict(xxx)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。