tf serving 从S3 minio 加载模型

下载tfserving的最新镜像后按照网上的文章配置后报错,翻了issue发现是最新版本已经不支持s3了,所以回退到2.2.0版本,配置成支持多个模型,具体步骤如下

docker pull tensorflow/serving:2.2.0

#下载git工程

git clone https://github.com/tensorflow/serving

把工程里的其中两个模型上传到S3用来测试,上传这两个模型

serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu

serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_2_versions

对应在minio中的bucket地址为models/multiModel/model1,models/multiModel/model2

#增加模型配置文件/root/tfserving_docker/serving/tensorflow_serving/servables/tensorflow/testdata/models.config
model_config_list:{
    config:{
      name:"model1",
      base_path:"s3://models/multiModel/model1",
      model_platform:"tensorflow"
    },
    config:{
      name:"model2",
      base_path:"s3://models/multiModel/model2",
      model_platform:"tensorflow"
    }
}

#启动docker

 docker run -p 8501:8501 -e AWS_ACCESS_KEY_ID={id} -e AWS_SECRET_ACCESS_KEY={access_key} -e S3_ENDPOINT=http://{ip}:{port} -e AWS_REGION=us-east-1 --mount type=bind,source=/root/tfserving_docker/serving/tensorflow_serving/servables/tensorflow/testdata/,target=/root/tfserving_docker/serving/tensorflow_serving/servables/tensorflow/testdata/ \
 -t tensorflow/serving:2.2.0 --model_config_file=/root/tfserving_docker/serving/tensorflow_serving/servables/tensorflow/testdata/models.config

测试一下

curl -d '{"instances": [1.0, 2.0, 5.0]}'     -X POST http://localhost:8501/v1/models/model1:predict

会返回

{
    "predictions": [2.5, 3.0, 4.5
    ]
}

完成啦

另外如果服务器不能直接pull镜像的话可以从外面的服务器先拉镜像到本地,再上传到对应服务器,步骤如下:

#先从可以连外网的服务器上拉取镜像

docker pull tensorflow/serving:2.2.0
docker save 25820e475139 > tfserving_docker_old.tar
#下载到本地,上传到目标服务器
cd /root/tfserving_docker
docker load < tfserving_docker_old.tar
docker tag 25820e475139 tensorflow/serving:2.2.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值