Jus*_*ang 2 machine-learning conv-neural-network tensorflow tpu
我正在使用一个 TFRecord 数据集,该数据集由 3D 对象横截面的多个灰度图像组成,最终形状为 [32, 256, 256]。32的尺寸代表横截面的数量,它明显小于其他尺寸。
因此,我想知道是否可以将数据视为具有 32 个通道的 2D 数据,而不是将数据视为具有 1 个通道的 3D 数据,尤其是在所需的计算资源方面有帮助。我现在正在 Google Colab 中使用 TensorFlow 和 TPU,并且使用 TensorFlow可以tf.layers.conv2d通过tf.layers.conv3d减少填充来节省大量内存。
这两种方法之间是否有任何显着差异,或者是否有我应该遵循的约定?使用会conv2d以任何方式损害我的准确性吗?
与完全连接的 2D 层相比,卷积层的主要优点之一是权重是 2D 区域的局部权重,并在所有 2D 位置(即滤波器)上共享。这意味着图像中的辨别模式即使出现多次或出现在不同位置,也只能被学习一次。即它对翻译有一定的不变性。
对于 3D 信号,您需要确定是否需要滤波器输出对深度不变,即,区分特征可能出现在图像中的任何一个或多个深度处,或者特征的深度位置是否相对固定。前者需要 3D 卷积,后者可以使用具有大量通道的 2D 卷积。
例如(这是我编的——我没有研究过),假设您对某人的肺部进行了 3D 扫描,并且您正在尝试对是否存在肿瘤进行分类。为此,您需要 3D 卷积,因为代表“肿瘤”的滤波器组合需要对该肿瘤的 X、Y 和 Z 位置保持不变。如果在这种情况下使用 2D 卷积,则训练集必须在所有不同 Z 位置都有肿瘤的示例,否则网络将对 Z 位置非常敏感。
顺便说一句:CNN 与 LSTM 是另一种处理 3D 数据的方法。
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |