keras 模型部署——TensorFlow Serving/Docker

橙三吉。 提交于 2020-08-11 08:30:48

今天笔者想记录一下深度学习模型的部署,不知道大家研究过没有,tensorflow模型有三种保存方式:

  • 训练时我们会一般会将模型保存成:checkpoint文件
  • 为了方便python,C++或者其他语言部署你的模型,你可以将模型保存成一个既包含网络结构又包含权重参数的:PB文件
  • 为了方便使用TensorFlow Serving 部署你的模型,你可以将模型保存成:Saved_model文件

笔者是keras(tensorflow )的深度用户,经常把模型保存成HDF5格式。那么问题来了,如何把keras的模型转化成PB文件 或者 Saved_model文件供生成部署使用。今天笔者就是来介绍一下如何将Keras的模型保存成PB文件 或者 Saved_model文件。

定义BERT二分类模型

下方函数定义的是一个标准的BERT做文本二分类的图结构。

 

from keras.models import Model
from keras.layers import *
from keras import backend as K
import tensorflow as tf
from keras_bert import get_model,compile_model

def load_bert_model_weight(bert_model_path):
    
    b_model = get_model(token_num=21128,)
    compile_model(b_model)

    bert_model = Model(
            inputs = b_model.input[:2],
            outputs = b_model.get_layer('Encoder-12-FeedForward-Norm').output
    )
    x1_in = Input(shape=(None,))
    x2_in = Input
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!