首页 > 解决方案 > 为 tensorflow 服务 LSTM 正确格式化 JSON

问题描述

我有一个 tensorflow LSTM 模型,其中预测函数的输入是 100 行 5 列。numpy 数组为 1,100,5 时的形状。

我正在努力解决如何正确格式化 JSON 请求以将其发送到 tensorflow 服务端点。当前托管在谷歌云上,但可能最终成为 tensorflow 服务 docker 镜像。

任何关于如何正确格式化数据以发送到 TF 的帮助都会非常有用,因为我正在努力在他们的文档中找到正确的格式。

谢谢!

标签: pythontensorflowgoogle-cloud-platform

解决方案


json 文件可以作为字典加载。因此,假设您有 5 个功能,您可以像这样格式化它:

  {
   "feature1": [...],
   "feature2": [...],
   "feature3": [...],
   "feature4": [...],
   "feature5": [...]
  }

然后,您可以将 dict 转换为列表列表,然后将其转换为 numpy 数组。注意:如果您将数组存储为字符串,则可以使用列表推导转换它们。

with open('data.json') as json_file:
    data = json.load(json_file)
    # if list of strings
    f1 = [float(i) for i in data['feature1']]
    f2 = [float(i) for i in data['feature2']]
    f3 = [float(i) for i in data['feature3']]
    f4 = [float(i) for i in data['feature3']]
    f5 = [float(i) for i in data['feature5']]

    sample = np.array([f1,f2,f3,f4,f5])

推荐阅读