【问题标题】:How should we batch the inputs before feeding to the torch modules?我们应该如何在输入 Torch 模块之前对输入进行批处理?
【发布时间】:2016-11-15 22:18:47
【问题描述】:

torch 中的批处理应该使用输入的哪个维度?

我有 1000 个训练样例,每个训练样例的维度为 10*5。现在,我想将这些数据作为一批 100 个示例输入到 Sequencer 中。

我应该如何构建我的输入?每批输入的尺寸应该是100*10*5(第一维用于batch)还是10*100*5(第二维用于batch)?

希望能提供相关文档的链接来解释遵循的约定。

容器和模块的约定会改变吗?

【问题讨论】:

    标签: lua torch


    【解决方案1】:

    它通常是大小为100*10*5 的张量。如果它是图像,则可能是您必须考虑通道数,因此它将是batchSize*channels*width*height。这将使数据易于访问,您只需执行inputs[{i}] 即可检索您的数据。考虑创建另一个张量来存储标签(如果您使用标记数据)。您可以在此处找到示例。 https://github.com/torch/tutorials/blob/master/2_supervised/4_train.lua#L131

    我建议你看一下教程,在那里你会看到在输入网络之前如何“准备”数据https://github.com/torch/tutorials

    【讨论】:

    • 谢谢曼努埃尔,其实我看到这个后很困惑 - github.com/Element-Research/rnn#rnn.Sequencer 这里,第二维默认用于批处理。我认为不同的容器使用不同的约定。
    • @VikramGupta 你是对的!在这种情况下,似乎音序器容器需要不同的输入形状。
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 2016-05-28
    • 2022-08-21
    • 2018-09-09
    • 2023-03-20
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多