将文本数据集转换为词汇张量流

时间:2019-07-22 18:12:30

标签: python tensorflow tensorflow-datasets

我有一个来自tfrecords的搜索和标题的tensorflow数据集。我想将此数据集转换为向量数据集,其中每个向量都是原始数据集中文本的编码。我已经看过这个示例https://www.tensorflow.org/beta/tutorials/load_data/text,但是它会遍历整个数据集以构建词汇表,而我不想这样做(而且,我正在使用estimator API,所有数据加载都在input_fn,所以我不确定在训练期间是否甚至可以迭代数据集。

是否有一种方法可以使用map等函数将此数据集转换为矢量数据集或应用?

这是我到目前为止的代码

blobs = list(bucket.list_blobs(prefix=prefix))
blobs = list(map(lambda b: os.path.join('gs://{}'.format(bucket_name), b.name), blobs))
path_dataset = tf.data.Dataset.from_tensor_slices(blobs)
record_dataset = tf.data.TFRecordDataset(filenames=path_dataset, num_parallel_reads=4)
click_dataset = record_dataset.map(parse_dataset)

def parse_dataset(record):
    features = {
        'search': tf.io.FixedLenFeature([], tf.string),
        'title': tf.io.FixedLenFeature([], tf.string),
        'count': tf.io.FixedLenFeature([], tf.int64)
    }
    sample = tf.io.parse_single_example(record, features)
    search = sample['search']
    title = sample['title']
    count = sample['count']
    return (search, title, count)

0 个答案:

没有答案