在基于深度学习的模型训练中,通常需要通过一批输入。例如,对于训练具有512维输入特征向量的深度学习模型,例如对于batch size= 4,我们主要通过4,512维输入。我很好奇,在将批处理和通道维度的输入展平2048之后,传递相同输入的逻辑意义是什么。从逻辑上讲,locality结构将被销毁,但它会显着加快我的实现速度吗?它会影响性能吗?
发布于 2021-09-13 13:10:57
在有监督的学习中,您通常会处理数据点(例如,特征向量或图像等多维输入)与某种地面实况(分类任务的标签,或另一个多维对象)配对。向您的模型提供包含多个数据点的扁平张量在监督方面是没有意义的。假设您以这种方式进行推理,那么在模型的输出级上的监督信号是什么?你会把标签也组合起来吗?所有这一切似乎在很大程度上依赖于用例:批处理的元素之间是否存在某种时间一致性?
在性能方面,这没有任何影响。张量已经被设计为“扁平化”,因为它们的内存被放置在连续的内存缓冲区中。多维的概念是由这些库(即NumPy的数组和Torch的张量)提供的抽象层,以允许对数据进行更容易和更灵活的控制。
https://stackoverflow.com/questions/69162442
复制相似问题