【问题标题】:how to batch dialog dataset in pytorch?如何在pytorch中批处理对话数据集?
【发布时间】:2020-03-14 16:49:17
【问题描述】:

我想做一个用于预订餐厅的面向任务的对话聊天机器人。因为每个对话都有不同的序列(例如,有些对话有 5 轮对话,即 10 个句子,而另一些对话可能有 6 轮对话,即 12 个句子完全),我不知道如何批处理数据集。

你能给我一些教程或github例子吗?

【问题讨论】:

    标签: pytorch


    【解决方案1】:

    Stackoverflow 上有一些与此相关的问题。我喜欢here 提供的解释/答案。 tldr 版本是使用Packed SequenceThe answer I linked to 提供以下示例(从链接复制):

    a = [torch.tensor([1,2,3]), torch.tensor([3,4])]
    b = torch.nn.utils.rnn.pad_sequence(a, batch_first=True)
    >>>>
    tensor([[ 1,  2,  3],
        [ 3,  4,  0]])
    torch.nn.utils.rnn.pack_padded_sequence(b, batch_first=True, lengths=[3,2])
    >>>>PackedSequence(data=tensor([ 1,  3,  2,  4,  3]), batch_sizes=tensor([ 2,  2,  1]))
    

    【讨论】:

      猜你喜欢
      • 2020-10-09
      • 1970-01-01
      • 2019-07-12
      • 2021-09-21
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2020-11-05
      • 2019-08-17
      相关资源
      最近更新 更多