tensorflow如何填充批处理文本,如pytorch';s';核对;?
我想将一批文本填充到相同的长度,生成段id、掩码向量,然后将它们提供给伯特模型。 在pytorch中,我可以使用下面的tensorflow如何填充批处理文本,如pytorch';s';核对;?,tensorflow,deep-learning,nlp,pytorch,Tensorflow,Deep Learning,Nlp,Pytorch,我想将一批文本填充到相同的长度,生成段id、掩码向量,然后将它们提供给伯特模型。 在pytorch中,我可以使用下面的collate\u fn def collate_fn(self, batch): rows = self.df.iloc[batch] # take a batch of data ids, seg_ids = self.get_ids_segs(rows) # process data attention_mask = (ids > 0)
collate\u fn
def collate_fn(self, batch):
rows = self.df.iloc[batch] # take a batch of data
ids, seg_ids = self.get_ids_segs(rows) # process data
attention_mask = (ids > 0)
return ids, seg_ids,attention_mask
但在tensorflow中,数据通过矩阵元组传递,因此所有文本都填充到最大长度512中
# ids.shape = seg_ids = attention_mask = (data_number, max_seq_len)
xs = (ids, seg_ids, attention_mask)
model.fit(xs,, ys, batch_size=batch_size)
我发现
tf.data.dataset
有一个函数。但它只能填充一个输入,我拥有的是3个输入数据,id
,seq\u id
,attn\u mask
,可能使用
tf.data.Dataset
在应用批处理方法后,应解决该问题。可能使用的是应用或映射方法
tf.data.Dataset
应用批处理方法后应该可以解决问题。你能给出一个创建ids
,seq\u id
,attn\u mask
的tf.data.dataset
示例吗?你能给出一个创建ids
,seq\u id
,attn\u mask>的示例吗?