当前位置:Gxlcms > 数据库问题 > 【推荐算法工程师技术栈系列】分布式&数据库--tensorflow

【推荐算法工程师技术栈系列】分布式&数据库--tensorflow

时间:2021-07-01 10:21:17 帮助过:56人阅读

{MODEL_VERSION}]
VERB: classify|regress|predict

其中“/versions/${MODEL_VERSION}”是可选的,如果省略,则使用最新的版本。

该API基本遵循gRPC版本的PredictionService API。

请求URL的示例:

http://host:port/v1/models/iris:classify
http://host:port/v1/models/mnist/versions/314:predict

请求格式

预测API的请求体必须是如下格式的JSON对象:

{
  // (Optional) Serving signature to use.
  // If unspecifed default serving signature is used.
  "signature_name": <string>,

  // Input Tensors in row ("instances") or columnar ("inputs") format.
  // A request can have either of them but NOT both.
  "instances": <value>|<(nested)list>|<list-of-objects>
  "inputs": <value>|<(nested)list>|<object>
}

以行的形式说明输入的tensor

{
 "instances": [
   {
     "tag": "foo",
     "signal": [1, 2, 3, 4, 5],
     "sensor": [[1, 2], [3, 4]]
   },
   {
     "tag": "bar",
     "signal": [3, 4, 1, 2, 5]],
     "sensor": [[4, 5], [6, 8]]
   }
 ]
}

以列的形式说明输入的tensor

{
 "inputs": {
   "tag": ["foo", "bar"],
   "signal": [[1, 2, 3, 4, 5], [3, 4, 1, 2, 5]],
   "sensor": [[[1, 2], [3, 4]], [[4, 5], [6, 8]]]
 }
}

返回格式

行形式

{
  "predictions": <value>|<(nested)list>|<list-of-objects>
}

如果模型的输出只包含一个命名的tensor,我们省略名字和predictions key map,直接使用标量或者值的list。如果模型输出多个命名的tensor,我们输出对象list,和上面提到的行形式输入类似。

列形式

{
  "outputs": <value>|<(nested)list>|<object>
}

如果模型的输出只包含一个命名的tensor,我们省略名字和outputs key map,直接使用标量或者值的list。如果模型输出多个命名的tensor,我们输出对象,其每个key都和输出的tensor名对应,和上面提到的列形式输入类似。

API demo

$ curl -d '{"instances": [1.0,2.0,5.0]}' -X POST http://localhost:8501/v1/models/half_plus_three:predict
{
    "predictions": [3.5, 4.0, 5.5]
}

[译]TensorFlow Serving RESTful API

源码理解

tensorflow-serving源码理解

开发中遇到的其他问题记录

实现numpy中的切片赋值

# 初始化一个3*4的tensor和大小为3的list
cis = tf.zeros([3, 4)
cis_list = [tf.zeros([4]) for _ in range(3)]
# 替换list的一个元素
cis_list[k] = eis
# 重新堆叠成一个tensor,列切片赋值axis=1?
cis = tf.stack(cis_list)

附录

  • tf.data.Dataset
  • Tensorflow中的数据对象Dataset
  • Dataset Input Pipeline
  • 基于Tensorflow高阶API构建大规模分布式深度学习模型系列之特征工程Feature Columns
  • w3cschool TensorFlow官方文档
  • TensorFlow入门12 -- Checkpoints,保存和恢复Estimator创建的模型
  • 官方文档
  • TensorFlow-Serving:Flexible, High-Performance ML Serving
  • 如何用TF Serving部署TensorFlow模型
  • TensorFlow 学习笔记
  • Client API(REST)
  • tensorflow-serving源码理解
  • docker部署tensorflow serving以及模型替换

【推荐算法工程师技术栈系列】分布式&数据库--tensorflow

标签:重要   efault   多个   body   slice   dong   封装   执行环境   blob   

人气教程排行