关于tensorflow serving的使用记录

如何将用tensorflow框架写好的模型部署到线上使用,关于这点其实可以使用常规的手段自己写个restfulApi,这时可以选择的python框架就有蛮多的了,像django、fastApi和flask等等都可以搞起。
毕竟模型开发好了,肯定是要上纲上线的,谷歌自然也会为自己的框架提供一个部署到线上的工具,这就自然而然的引出本篇文章的主角——tensorflow serving
tensorflow serving
tesorflow serving目前提供有grpc和restfulApi服务。其实在早期版本它只有grpc,但是在tf1.8版本后,tensorflow也跟随互联网开发的趋势集成了restfulApi服务。
使用示例
现在的话一般都是使用docker,并且tensorflow官网上也是推荐使用docker,所以我就拿docker来开刀了。鉴于大部分的朋友都是使用的win10 home版本的系统,所以我有在CI&CD版块发表有安装方法,这里我就不多赘述。
首先是要在docker上拉取image

docker pull tensorflow/serving

然后可以直接使用官方的示例代码

mkdir -p /tmp/tfserving
cd /tmp/tfserving
git clone https://github.com/tensorflow/serving

mkdir 和 cd这些都是基本命令符,然后git的话大家去下载安装就行,当然不想装git的话也可以跑去网站上直接去下载代码包,之后就是部署的关键了。

docker run -p 8501:8501 \
--mount type=bind,\
source=/tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,\
target=/models/half_plus_two \
-e MODEL_NAME=half_plus_two -t tensorflow/serving &

可能有的朋友到这里应该是成功跑起来了,按理说照着官方的操作到这步应该是ok的,毕竟模型也是官方提供的不太可能有问题,但是我运行之后还是出现了这样的错误提示(可能我比较背吧)
Could not find base path xxxxxx for servable model

这就很坑了,然后我试着用另一种方法部署还是会出现其他类似的错误,然后网上关于这方面直接的解决方法几乎没有(起码我是没有找到),之后我开始研究起了tensorflow/serving的一些基础文档,最后得出了一个可以启动的方法,其实就是在上面的语句里多附加一句话而已,整体如下

docker run -p 8501:8501 \
--mount type=bind,\
source=/tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,\
target=/models/half_plus_two \
-e MODEL_NAME=half_plus_two -t tensorflow/serving \
--model_base_path=/models/half_plus_two &

至于为嘛这个语句就可以解决,其实也就是因为之前的语句没有定义config文件路径,并且model_base_path没有配置,所以tesorflow/serving就用了默认的model_base_path,也就是models/model,这样当然就没办法找到模型了,最坑的是官方里面没有对这个进行详细讲解(也可能是我看得不够细),网上我也没查到,然后就掉进这坑里待了好久,好久。。。这个我推荐跑起来后上docker desktop上看下logs,那里会清晰且全面一些。
最后就可以进行愉快的使用了,我没有照官网里的用curl去调用,因为我curl还是调不动…我还以为是我启动失败了,后来我改用postMan去调用了下接口,居然成功了!所以我就不管curl了,估计是我机子装的curl有问题,姑且还是附上官网的调用方法,如果是用的上面的代码块,记得将half_plus_two替换为model,因为没有重命名成功。

curl -d '{"instances": [1.0, 2.0, 5.0]}' \
  -X POST http://localhost:8501/v1/models/half_plus_two:predict
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值