gpt4 book ai didi

python - 来自 Tensorflow TextLineDataset 的 Ngram

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:27 24 4
gpt4 key购买 nike

我有一个文本文件,每行包含一个句子

当我创建一个 TextLineDataset 并使用迭代器对其进行迭代时,它逐行返回文件

我想一次遍历我的文件两个标记,这是我当前的代码:

sentences = tf.data.TextLineDataset("data/train.src")
iterator = sentences.make_initializable_iterator()
next_element = iterator.get_next()

sess = tf.Session()

sess.run(tf.tables_initializer())
sess.run(iterator.initializer)

elem = sess.run(next_element)
print(elem)

是否可以使用 TextLineDataset 这样做?

编辑:“标记”是指“单词”

最佳答案

这绝对是可能的,但您需要做一些争论。你需要:

  1. 将每一行拆分成单词
  2. 将其扁平化为单个单词流
  3. 分成2份

我们可以使用 tf.strings.split 来表示 1.:

words = sentences.map(tf.strings.split)

flat_map 为 2.:

flat_words = words.flat_map(tf.data.Dataset.from_tensor_slices)

batch 为 3:

word_pairs = flat_words.batch(2)

当然,我们可以将所有这些操作链接在一起,得到这样的结果:

word_pairs = sentences \
.map(tf.strings.split) \
.flat_map(tf.data.Dataset.from_tensor_slices) \
.batch(2)

关于python - 来自 Tensorflow TextLineDataset 的 Ngram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57273962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com