首页 > 解决方案 > 使用 keras 分词器预处理 keras 数据集

问题描述

我正在尝试使用 keras 标记器对使用以下代码读取的数据进行一些预处理:

 dataset = tf.data.Dataset.from_tensor_slices(filenames)
    dataset = dataset.interleave(lambda x:
        tf.data.TFRecordDataset(x).prefetch(params.num_parallel_readers),
                                     cycle_length=params.num_parallel_readers,
                                     block_length=1)
        dataset = dataset.map(_parse_example, num_parallel_calls = params.num_parallel_calls)

tf.keras.preprocessing.text.Tokenizer现在我有了解析的示例(_parse_example 映射函数的输出),我想使用方法对文本进行一些预处理texts_to_sequences。但是, texts_to_sequences 需要输入 python 字符串,我在 parsed_example 中得到张量。

py_func我可以通过使用来包装我的代码来解决它(参见下面代码中的'emb':tf.py_func..),但是我将无法序列化我的模型(根据py_func文档)。

dataset = dataset.map(lambda features, labels: 
                              ({'window': features['window'],
                                'winSize': features['winSize'],
                                'LandingPage': features['LandingPage'],
                                'emb': tf.py_func(getEmb, [features['window']], tf.int32)},
                                tf.one_hot(labels, hparams.numClasses) ))

寻找一种方法来做到这一点(或链接到一些类似的例子)

标签: pythontensorflowkeras

解决方案


推荐阅读