![]() |
1
1
有两个主要考虑因素。
首先是由于分批。由于我们通常希望对多个训练示例(而不仅仅是一个)执行基于梯度计算的每个优化步骤,因此一次对所有示例运行计算是有帮助的。因此,许多库中的标准方法是,第一个维度是批处理维度,并且所有操作都沿着第一个维度独立地应用于每个子传感器。因此,实际代码中的大多数张量至少是二维的:
然后是四维张量,这是在使用卷积神经网络时产生的,而不是完全连接的张量。一个完全连接的网络使用完全矩阵,这意味着前一层的每个神经元对下一层的每个神经元都有贡献。卷积神经网络可以看作是使用一个特殊结构的稀疏矩阵,其中前一层的每个神经元只影响下一层的一些神经元,即在其位置的某个固定距离内的神经元。因此,卷积将
空间
结构,这需要反映在中间张量上。而不是
总结:如果有人告诉你他们使用的是一维向量,这是一个简化:几乎可以肯定的是至少使用两个,用于批处理。然后,在二维计算机视觉的背景下,卷积网络是标准的,它们带有4d张量。在其他场景中,您可能会看到甚至不同的布局和维度。谷歌关键词阅读:
|
![]() |
Ze0ruso · 做模型。eval()在代码中的位置有什么关系? 2 年前 |
![]() |
rkraaijveld · sklearn的Coef。线性回归为无 2 年前 |
![]() |
Adam · 如何在多个模型上并行运行PyTorch推理? 2 年前 |
![]() |
Ofek Nourian · 完全连通的简单自回归模型预测 2 年前 |