我有一个来自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)