tensorflow_serving 使用说明

tensorflow serving介绍和安装

1.tensorflow serving 简介

参考:https://blog.csdn.net/jeffery0207/article/details/86072456

servable在这里就是模型(model)

loader就是管理模型的生命周期(load/upload)

source就是servable的模板

总结:

  • Sources create Loaders for Servable Versions.
  • Loaders are sent as Aspired Versions to the Manager, which loads and serves them to client requests.

详细:

1.Source 为指定的服务(磁盘中检测模型权重的新版本)创建Loader,Loader里包含了服务所需要的元数据(模型);

2.Source 使用回调函数通知 Manager 的 Aspired Version(Servable version的集合);

3.Manager 根据配置的Version Policy决定下一步的操作(是否 unload 之前的Servable,或者 load 新的Servable);

4.如果 Manager 判定是操作安全的,就会给 Loader 要求的resource并让 Loader 加载新的版本;

5.客户端向 Manager 请求服务,可以指定服务版本或者只是请求最新的版本。Manager 返回服务端的处理结果;


举个例子:

假设Source表示具有频繁更新的模型权重的TensorFlow图。权重存储在磁盘上的文件中。

  1. Source检测到新版本的模型权重。它创建一个Loader,其中包含指向磁盘上模型数据的指针。
  2. Source会向动态管理器通知Aspired Version。
  3. 动态管理器应用版本策略并决定加载新版本。
  4. 动态管理器告诉Loader有足够的内存。Loader使用新权重实例化TensorFlow图。
  5. 客户端请求处理最新版本的模型,动态管理器返回新版本Servable的句柄。

2.使用docker 安装tensorflow serving

参考:https://tensorflow.google.cn/tfx/serving/docker?hl=zh-CN

# 下载镜像
docker pull tensorflow/serving

#下载tensorflow 模型
git clone https://github.com/tensorflow/serving
# 模型地址
TESTDATA="$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"

# 开始tensorflow serving 实例 打开rest 接口
docker run -t --rm -p 8501:8501 \
    -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" \
    -e MODEL_NAME=half_plus_two \
    tensorflow/serving &

# 使用模型预测
curl -d '{"instances": [1.0, 2.0, 5.0]}' \
    -X POST http://localhost:8501/v1/models/half_plus_two:predict

#结果 
 { "predictions": [2.5, 3.0, 4.5] }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值