有没有办法将Keras模型保存为CNTK格式,以便我们可以使用CNTK的API加载它?
我在下面尝试过这段代码,但失败了:
a = Input(shape=(224,224,3))
b = Conv2D(64, (2,2), name='conv1')(a)
model = Model(inputs=a, outputs=b)
cntk.combine(model.outputs).save('model2.dnn')
答案 0 :(得分:3)
请参阅Keras-CNTK saving model-v2 format
以CNTK格式保存Keras模型(当使用CNTK作为后端时):
import cntk as C
from keras.backend import load_model
keras_model = load_model('my_keras_model.h5')
cntk.combine(keras_model.model.outputs).save('my_cntk_model')
cntk_model = C.load_model('my_cntk_model')
以TensorFlow格式保存Keras(当使用TensorFlow作为后端时):
model = load_model('model2.h5')
sess = K.get_session()
tf_saver = tf.train.Saver()
tf_saver.save(sess=sess, save_path=checkpoint_path)
答案 1 :(得分:0)
答案 2 :(得分:0)
我使用此converter在keras和CNTK之间转换模型。
保存keras模型model.save('keras_model.h5')
安装转换器pip install -U git+https://github.com/Microsoft/MMdnn.git@master
mmconvert -sf keras -iw keras_model.h5 -df cntk -om cntk_model.dnn