【问题标题】:Sequential batch processing vs parallel batch processing?顺序批处理与并行批处理?
【发布时间】:2021-11-08 17:34:22
【问题描述】:

在基于深度学习的模型训练中,通常会传递一批输入。例如,对于具有 [512] 维输入特征向量的深度学习模型,例如批量大小 = 4,我们主要传递 [4,512] 维输入。我很好奇在跨批次和通道维度 [2048] 展平输入之后传递相同输入的逻辑意义是什么。从逻辑上讲,位置结构将被破坏,但它会显着加快我的实施速度吗?会影响性能吗?

【问题讨论】:

    标签: tensorflow neural-network pytorch conv-neural-network batch-normalization


    【解决方案1】:

    在监督学习中,您通常会使用与某种真实值配对的数据点(例如特征向量或多维输入,例如图像)分类任务或其他多维对象)。向您的模型提供包含多个数据点的扁平张量在监督方面没有意义。假设您以这种方式进行推理,那么模型输出级别的监督信号是什么?你会合并标签吗?所有这些似乎都在很大程度上取决于用例:批次的元素之间是否存在某种时间一致性?

    在性能方面,这没有任何影响。张量在设计上已经“扁平化”,因为它们的内存布局在连续的内存缓冲区中。多维性的概念是这些库(即 NumPy 的数组和 Torch 的张量)提供的抽象层,以允许更轻松、更灵活地控制数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      相关资源
      最近更新 更多