padding之后tensor长度的问题

来源:10-3 数据id化与dataset生成

慕斯2360121

2020-05-26

老师您好,我想问一下padding之后最大长度的sentence,应该不需要再遍历了吧,因为padding操作,每一个句子的长度应该都是一致了,我看了一下最短和最长都是一样的

写回答

1回答

正十七

2020-05-31

同学你好,我不太明白你在这里说的遍历指的是什么?

这一节对应的padding代码应该如下:

def max_length(tensor):
    return max(len(t) for t in tensor)

def tokenize(lang):
    lang_tokenizer = tf.keras.preprocessing.text.Tokenizer(filters='')
    lang_tokenizer.fit_on_texts(lang)
    tensor = lang_tokenizer.texts_to_sequences(lang)
    tensor = tf.keras.preprocessing.sequence.pad_sequences(tensor, padding='post')
    return tensor, lang_tokenizer

def load_dataset(path, num_examples=None):
    # creating cleaned input, output pairs
    targ_lang, inp_lang = create_dataset(path, num_examples)

    input_tensor, inp_lang_tokenizer = tokenize(inp_lang)
    target_tensor, targ_lang_tokenizer = tokenize(targ_lang)
    return input_tensor, target_tensor, inp_lang_tokenizer, targ_lang_tokenizer

其中padding是在tf.keras.preprocessing.sequence.pad_sequences这里做的,这个API会帮我们遍历数据进行补全。补全后就不需要再遍历了。

不知道能不能回答你的问题?

0
1
慕斯2360121
非常感谢!
2020-06-15
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程