keras使用起来十分简洁,我们经常会拿来训练数据,然后保存为模型.h5,然而对于tensorflow来说,.pb才是它的通用格式,因为tensorflow-js,tensorflow-lite,tensorflow-serving都会使用到,因此转换是具有很强的实际意义的。
import tensorflow as tf
tf.keras.backend.set_learning_phase(0)
model = tf.keras.models.load_model('./mmm.h5')#加载h5模型
export_path = './pb_model'
with tf.keras.backend.get_session() as sess:
tf.saved_model.simple_save(
sess,
export_path,
inputs={'input_image': model.input},
outputs={t.name: t for t in model.outputs})
测试一下:
D:\AN\lib\site-packages\numpy\core\__init__.py:29: UserWarning: loaded more than 1 DLL from .libs:
D:\AN\lib\site-packages\numpy\.libs\libopenblas.PYQHXLVVQ7VESDPUVUADXEVJOBGHJPAY.gfortran-win_amd64.dll
D:\AN\lib\site-packages\numpy\.libs\libopenblas.TXA6YQSD3GCQQC22GEQ54J2UDCXDXHWN.gfortran-win_amd64.dll
stacklevel=1)
运行后悔产生一个文件夹,里面就是我们需要的.pb啦