我有一个使用keras
后端进行文本分类的tensorflow
模型。当前,它假定输入是一个numpy整数数组。
我想对此进行修改,以便可以对原始文本进行训练和预测。根据我的收集,这涉及使用tf.transform
将字符串的张量转换为整数的张量。
我已经使用tf.transform
进行了此操作,但是现在不确定如何将该预处理步骤添加到模型中作为第一层/第一步。需要明确的是,我的输入数据如下:
[{"review":"movie is great},
{"review":"awful film"}]
,输出为:
[{"review_out": array([-1, -1, 1, 0, 2])},
{"review_out": array([-1, -1, -1, 3, 4])]
执行此操作的函数称为preprocess
。因此,我只想将运行preprocess
作为DAG的第一步。
我该怎么办?
作为参考,这很重要,因为我想在ML Engine上进行实时预测。
答案 0 :(得分:0)
如果使用tf.data.Dataset()
,则存在一个tf.data.Dataset().map(map_func)
函数,该函数可将map_func
应用于数据集的所有元素。这可以用来添加您的预处理步骤。
https://www.tensorflow.org/api_docs/python/tf/data/Dataset
例如:
dataset = tf.data.Dataset.from_tensor_slices((x, y))
dataset = dataset.map(preprocess)
model.fit(dataset, ....)
通过numpy数组使用tf.data.Dataset()
还有其他优点。