# rec-tf-api **Repository Path**: chenjia_gitee/rec-tf-api ## Basic Information - **Project Name**: rec-tf-api - **Description**: Tensorflow Serving gRPC client for java - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tensorflow serving java gRPC client ## 前言 Tensorflow serving 是一个用户部署 Tensorflow 模型的服务器。当配置启动之后,可以通过 rest 与 gRPC 访问,默认只会提供 gRPC 接口,端口8500。 rest 的访问方式官方有介绍,在底部参考中。 但是 gRPC 访问则直接跳转到了 tf serving 的 proto 文件定义处了,这些文件关联关系错综复杂,还引用了大量的 Tensorflow 源码中的 proto 文件。Tensorflow 官方明确表示暂无 Java 客户端(注意,这不是指用 Java 加载并服务化模型,仅仅是 gRPC 调用),所以需要自己制作。 制作此客户端就一件事:把 proto 文件编译成 Java 代码。问题在于 proto 文件引用的关系过于复杂,数量较多(近90个),且这些文件分布于 TF serving 与 TF 两个仓库中。所以这是一个体力活。 ## 使用 Maven pom 中引入如下: ```xml com.vova.rec rec-tf-api 1.15.0 ``` 无需再引入 gRPC 相关依赖。目前支持的版本是 `1.15.0`,需要注意,哪怕是小版本差异,也可能会造成不兼容,尽量把 TF、TF serving、本项目版本统一化,避免产生兼容性问题。 ## Reference 1. [tensorflow/serving/RESTful-API](https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/api_rest.md) 2. [tensorflow/serving/proto-file-definition](https://github.com/tensorflow/serving/tree/master/tensorflow_serving/apis) 3. [tensorflow-serve-client](https://github.com/junwan01/tensorflow-serve-client)