padding之后tensor长度的问题
来源:10-3 数据id化与dataset生成
慕斯2360121
2020-05-26
老师您好,我想问一下padding之后最大长度的sentence,应该不需要再遍历了吧,因为padding操作,每一个句子的长度应该都是一致了,我看了一下最短和最长都是一样的
写回答
1回答
-
同学你好,我不太明白你在这里说的遍历指的是什么?
这一节对应的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会帮我们遍历数据进行补全。补全后就不需要再遍历了。
不知道能不能回答你的问题?
012020-06-15
相似问题