Python tf.transform:向Keras模型添加预处理?

Python tf.transform:向Keras模型添加预处理?,python,tensorflow,keras,Python,Tensorflow,Keras,我有一个keras模型,用于使用tensorflow后端进行文本分类。它当前假定输入是整数的numpy数组 我想修改这个,这样我就可以在原始文本上进行训练和预测。根据我收集的信息,这涉及到使用tf.transform将字符串张量转换为整数张量 我使用tf.transform完成了这项工作,但现在不确定如何将此预处理步骤作为第一层/步骤添加到我的模型中。为了清楚起见,我的输入数据如下所示: [{“回顾”:“电影很棒”}, {“评论”:“糟糕的电影”}] 输出为: [{“review_out”:数组

我有一个
keras
模型,用于使用
tensorflow
后端进行文本分类。它当前假定输入是整数的numpy数组

我想修改这个,这样我就可以在原始文本上进行训练和预测。根据我收集的信息,这涉及到使用
tf.transform
将字符串张量转换为整数张量

我使用
tf.transform
完成了这项工作,但现在不确定如何将此预处理步骤作为第一层/步骤添加到我的模型中。为了清楚起见,我的输入数据如下所示:

[{“回顾”:“电影很棒”},
{“评论”:“糟糕的电影”}]

输出为:

[{“review_out”:数组([-1,-1,1,0,2]),
{“review_out”:数组([-1,-1,-1,3,4])]

执行此操作的函数称为
preprocess
。因此,我只想将运行
preprocess
作为DAG的第一步

我该怎么做


作为参考,这很重要,因为我想在ML引擎上进行实时预测。

如果使用
tf.data.Dataset()
,则存在一个
tf.data.Dataset().map(map_func)
函数,该函数允许您将
map_func
应用于数据集的所有元素。这可以用于添加预处理步骤

例如:

dataset=tf.data.dataset.from_tensor_切片((x,y))

dataset=dataset.map(预处理)

model.fit(数据集…)


使用
tf.data.Dataset()
也比使用numpy数组有其他优势。

谢谢!我正在使用
tf.data.Dataset()
,但我需要将预处理作为基础Tensorflow DAG的第一步。有什么想法吗?请注意,如果预处理不是学习的一部分和/或很繁重,您应该单独进行,以避免出现瓶颈。@THN但我如何确保在ML引擎上进行相同的预处理。目标是能够发送ML引擎原始文本如果是在线学习实时流数据,则只需在学习时执行。在这种情况下,您应该使用异步并行处理来补救效果。这称为“预处理”“处理是有原因的。@谢谢您的帮助。那么,按照JordanPatterson的建议执行预处理,然后更新
服务以使用此预处理的标准方法是什么?