python 客户端_使用Python客户端

使用Python客户端

简介

我们要访问TensorFlow serving服务,Python应用也需要实现对应的gRPC客户端。

TensorFlow serving官方文档提供了生成mnist Python客户端的例子,但由于依赖bazel编译,编译出来的Python脚本不能直接运行。

完整例子

./predict_client.py --host 127.0.0.1 --port 9000 --model_name linear --model_version 1

不同模型的输入格式不同,我们只需要直接修改Python脚本中构建TensorProto的代码即可,建议使用该项目编译生成的文件和代码例子。

实现原理

实现Python gRPC客户端,我们需要编译TensorFlow serving和TensorFlow的proto文件,由于官方项目依赖bazel编译,我们需要修改proto文件中的依赖路径。

编译生成的Python文件可以直接import,然后参考TensorFlow的文档生成TensorProto对象,参考gRPC的文档调用gRPC服务端即可。

读取图片文件生成TesorProto

在图像分类等场景,我们需要将图片转成numpy或者TensorProto对象,才能通过gRPC请求TensorFlow serving服务,这里提供使用scipy ndimage的例子,测试已经支持jpg和png文件。

from scipy import ndimage

# Create numpy ndarray for batch images

features = np.ndarray(shape=(5, 32, 32, 3), dtype=np.float32)

image_filepaths = ["../data/inference/Blastoise.png",

"../data/inference/Charizard.png",

"../data/inference/Mew.png",

"../data/inference/Pikachu.png",

"../data/inference/Venusaur.png"]

for index, image_filepath in enumerate(image_filepaths):

image_ndarray = ndimage.imread(image_filepaths[0], mode="RGB")

features[index] = image_ndarray

# Create TensorProto

features_tensor_proto = tf.contrib.util.make_tensor_proto(features,

dtype=tf.float32)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值