如何将“实例键”添加到 keras 模型输入以在 gcloud ai-platform 中进行批量预测?

2024-04-27

我正在尝试添加“键”以匹配 Google AI Platform 的批量预测输出,但是我的模型输入只允许一个输入。

看起来像这样:

input = tf.keras.layers.Input(shape=(max_len,))

x = tf.keras.layers.Embedding(max_words, embed_size, weights=[embedding_matrix], trainable=False)(input)
x = tf.keras.layers.Bidirectional(tf.keras.layers.GRU(128, return_sequences=True, dropout=0.3, recurrent_dropout=0.1))(x)
x = tf.keras.layers.Conv1D(128, kernel_size=3, padding="valid", kernel_initializer="glorot_uniform")(x)

avg_pool = tf.keras.layers.GlobalAveragePooling1D()(x)
max_pool = tf.keras.layers.GlobalMaxPooling1D()(x)

x = tf.keras.layers.concatenate([avg_pool, max_pool])

preds = tf.keras.layers.Dense(2, activation="sigmoid")(x)
model = tf.keras.Model(input, preds)
model.summary()
model.compile(loss='binary_crossentropy', optimizer=tf.keras.optimizers.Adam(lr=1e-3), metrics=['accuracy','binary_crossentropy'])

我碰到本文 https://towardsdatascience.com/how-to-extend-a-canned-tensorflow-estimator-to-add-more-evaluation-metrics-and-to-pass-through-ddf66cd3047d,但不知道如何将其应用到我的代码中。

有任何想法吗?谢谢!


按照您的代码,您可以执行以下操作:

首先,从输入中获取键值:

input = tf.keras.layers.Input(shape=(max_len,))
key_raw = tf.keras.layers.Input(shape=(), name='key')

Reshape https://www.tensorflow.org/api_docs/python/tf/keras/layers/Reshape#__init__稍后用于串联

key = tf.keras.layers.Reshape((1,), input_shape=())(key_raw)

连接 https://www.tensorflow.org/api_docs/python/tf/keras/layers/Concatenate#top_of_page最终结果的关键

preds = tf.keras.layers.Dense(2, activation="sigmoid")(x)
preds = tf.keras.layers.concatenate([preds, key])

将其添加到模型的输入中

model = tf.keras.Model([input, key_raw], preds)

输入json文件示例:

{"input_1": [1.2,1.1,3.3,4.3], "key":1}
{"input_1": [0.3, 0.4, 1.5, 1], "key":2}

现在,您可以获得密钥作为预测结果的最后一个元素。 输出示例:

[0.48686566948890686, 0.5113844275474548, 1.0]
[0.505149781703949, 0.5156428813934326, 2.0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将“实例键”添加到 keras 模型输入以在 gcloud ai-platform 中进行批量预测? 的相关文章

  • 多处理与 gevent

    目前我正在使用带有发布 订阅模式的 Zeromq 我有一个要发布的工作人员和许多 8 个订阅者 所有人都会订阅 相同的模式 现在我尝试使用多处理来生成订阅者 它可以工作 我错过了一些消息 我使用多重处理的原因是在每条消息到达时对其进行处理
  • Opencv未找到所有轮廓

    我试图找到该图像的轮廓 但是该方法查找轮廓只返回1轮廓 轮廓突出显示image 2 我正在努力寻找all外部轮廓就像这些圆圈 里面有数字 我究竟做错了什么 我可以做什么来实现它 image 1 image 2 以下是我的代码的相关部分 th
  • 保存散点图动画

    我一直在尝试使用 matplotlib 保存动画散点图 并且我希望它不需要完全不同的代码来查看动画图形和保存副本 该图完美显示了保存完成后的所有数据点 这段代码是修改后的版本Giggi s https stackoverflow com a
  • 为什么 localhost:5000 在 Flask 中不起作用?

    我正在使用 Flask 应用程序工厂模式 并且有这个 run py 文件 from app import create app app create app if name main app run host localhost debug
  • 如何忽略在另一个任务的 run() 内触发的 Luigi 任务的失败

    考虑以下任务 import luigi class YieldFailTaskInBatches luigi Task def run self for i in range 5 yield FailTask i j for j in ra
  • x % 2 == 0 是什么意思? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我确信这是
  • PyDev 无法再调试

    我正在使用 eclipse 4 2 1 和 pydev 2 7 1 以前是 2 6 0 一切都工作正常 直到调试器突然停止工作 它打印 pydev debugger 开始 然后根本不运行程序 而是挂起 根据我在其他问题报告中找到的一些信息
  • 我知道 scipy curve_fit 可以做得更好

    我使用 python numpy scipy 来实现此算法 用于根据地形坡向和坡度对齐两个数字高程模型 DEM 用于量化冰川厚度变化的卫星高程数据集的联合配准和偏差校正 C Nuth 和 A K b doi 10 5194 tc 5 271
  • / __init__() 处的 TypeError 恰好采用 1 个参数(给定 2 个)

    我有点困惑为什么会出现这个错误 我不知道这个额外的参数是从哪里来的 Environment Request Method GET Request URL http 0 0 0 0 5000 Django Version 1 6 4 Pyth
  • 在 python 中读取具有恶意字节 0xc0 的文件,导致 utf-8 和 ascii 出错

    尝试将制表符分隔的文件读入 pandas 数据帧 gt gt gt df pd read table fn na filter False error bad lines False 它会出错 如下所示 b Skipping line 58
  • python 和回文

    我最近写了一个循环的方法 usr share dict words并使用我的返回回文列表ispalindrome x 方法 这是一些代码 有什么问题吗 它只会停止 10 分钟 然后返回文件中所有单词的列表 def reverse a ret
  • Python:如何使用 struct.pack_into 将不同类型的数据打包到字符串缓冲区中

    我正在尝试将一些无符号 int 数据打包到使用创建的字符串缓冲区中ctypes create string buffer 这是以下代码段 以及显示错误的运行示例在键盘上 http codepad org S8nUWMcW import st
  • python执行列表和函数列表[重复]

    这个问题在这里已经有答案了 我正在将 Python 2 7 与 Autodesk Maya 结合使用 这是我的问题的一个例子 import maya cmds as m def a passedString print this passe
  • Python 请求:使用 Multipart/form-data 在 Facebook 上发布图像

    我正在使用 facebook API 在页面上发布图像 我可以使用以下命令从网络发布图像 import requests data url url caption caption access token token status requ
  • 如何删除在 Matplotlib 中使用鼠标悬停事件创建的绘图线?

    我在带有鼠标悬停事件的图中创建了一条垂直线和一条水平线 这些线旨在帮助用户选择在图中单击的位置 我的问题是 当鼠标移动到绘图上时 之前绘制的线条不会消失 有人可以解释我该怎么做吗 我在 OnOver 函数内绘制绘图后使用了 ax lines
  • 如何编写凯撒密码 Python

    我不知道如何开始编写程序 input input Input the text you would like encrypted def cipher text letter code for i in input number code
  • 从另一个文件执行按钮命令?

    我已经开始开发一个 GUI 系统 在该系统中 我需要从一个文件导入一个函数 以便在按下按钮时在主文件中执行 但每次运行它时 我都会得到 AttributeError partially initialized module Two has
  • 一旦玩家与矩形对象发生碰撞,如何从屏幕上删除它?

    in draw 函数 我试图在玩家 pos 敌人 pos 时删除矩形对象 但 del 不起作用 有什么办法可以彻底删除敌人的物体吗 是否有内置的 pygame 函数可以删除我不知道的对象 draw player def draw enemy
  • 按权重分组

    给定以下数据框 import pandas as pd d pd DataFrame Age 18 20 20 56 56 Race A A A B B Response 3 2 5 6 2 Weight 0 5 0 5 0 5 1 2 1
  • 使用 PyDrive 将图像上传到 Google Drive

    我有一个关于 PyDrive 的愚蠢问题 我尝试使用 FastAPI 制作一个 REST API 它将使用 PyDrive 将图像上传到 Google Drive 这是我的代码 from fastapi import FastAPI Fil

随机推荐