tensorflow如何填充批处理文本,如pytorch';s';核对;?

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)

我想将一批文本填充到相同的长度,生成段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)
    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>的
示例吗?