tensroflow-serving部署自己模型

本文详细介绍了如何使用TensorFlow Serving部署训练好的BERT模型,从模型结构、转换为pb文件到使用Docker启动服务,提供了一步到位的实践教程。

经过一系列测试,tensorlfow-serving确实要比直接利用flask部署快非常多,虽然网上也有很多有关怎么把自己的训练好的模型部署到tensorlfow-serving上。但是为了有一个自己完整的记录,还是写了这样的经验供大家参考。

(1)训练自己的tensorflow模型或者直接使用预训练的bert模型,这里我采用的tensorflow1.15.0版本。最终生成的是如下结构的模型文件:

如果利用预训练模型,在重加在参数的时候我是使用的

加载模型所以在预训练模型里边添加一个checkpoint文件内容如下:

  model_checkpoint_path: "bert_model.ckpt"

所以文件结构如下:

(2)构造模型图以及生成pb文件

有了如上文件,然后我们就需要构造tensorflow-serving服务的infer函数,也就是推断函数,由于以上文件不包含图模型,所以我们需要重新构建模型图。具体代码也比较简单,我们以输出bert最后一层为例,具体代码如下:

import json

import os

import tensorflow as tf

import argparse

import modeling

def create_model(bert_config, is_training, input_ids):

    # 通过传入的训练数据,进行representation

    model = modeling.BertModel(config=bert_config, is_training=is_training, input_ids=input_ids)

    # output = model.get_pooled_output()

    output = model.get_sequence_output()

    re

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值