TFServing—AI模型服务部署框架(二)

前一节讲了tensorflow-serving单个模型部署,本节接着介绍tfserving通过配置文件,部署多个模型,以及多个模型的不同版本。

1.本地保存多个测试模型,用于测试

 2.编写配置文件,models.config,base_path表示容器中,模型的路径

model_config_list {
  config {
    name: 'imagecls'
    base_path: '/models/imagecls'
    model_platform: 'tensorflow'
    model_version_policy{
        specific {
            versions:1
        }
    }
  }
  config {
    name: 'mobilenetv3'
    base_path: '/models/mobilenetv3'
    model_platform: 'tensorflow'
    model_version_policy{
        specific {
            versions: 2
        }
    }
  }
}

3.启动服务

/home/hexiong/tfmodels:/models,将本地/home/hexiong/tfmodels文件夹下的所有文件复制到容器/models文件夹下

--model_config_file中的路径是,复制后容器的路径

sudo docker run -t --rm -p 8500:8500 -p 8501:8501 -v /home/hexiong/tfmodels:/models tensorflow/serving:2.8.4-gpu --model_config_file=/models/mod
el.config

4.grpc访问服务

主要几个参数:

# 模型名称

request.model_spec.name = 'mobilenetv3'

#模型签名,默认serving_default
request.model_spec.signature_name = 'serving_default'

#版本号
request.model_spec.version.value = 2

import grpc
import time
from tensorflow_serving.apis import predict_pb2, prediction_service_pb2_grpc
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.efficientnet_v2 import decode_predictions
import numpy as np
import tensorflow as tf


options = [('grpc.max_send_message_length', 1000 * 1024 * 1024),
           ('grpc.max_receive_message_length', 1000 * 1024 * 1024)]
channel = grpc.insecure_channel("localhost:8500", options=options)
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
request = predict_pb2.PredictRequest()
# request.model_spec.name = 'imagecls'
# request.model_spec.signature_name = 'serving_default'
# request.model_spec.version.value = 1

request.model_spec.name = 'mobilenetv3'
re
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值