在大图像尺寸上测试 FCN

Testing FCN on large image sizes

我正在 Caffe 中测试 FCN-VGG16 网络。我没有将输入图像调整为固定大小,而是每次都将网络重新整形为图像大小。我在 matcaffe 和 pycaffe 中都试过了。在这两种情况下,它似乎都能够 运行 用于小图像(例如,500x500)。但是,当我有更大尺寸的图像(例如 1920 x 1080)时,我会收到此错误 "Check failed: error == cudaSuccess (2 vs. 0) out of memory"。我 运行 在具有 12 GB 内存的 Quadro M6000 GPU 上执行此操作。任何 help/advice 将不胜感激。

我知道消息很明显,但是您确实必须减小输入大小:GPU 没有足够的板载内存来容纳您输入的所有内容。你能减少你的批量大小吗?如果不是,您真的需要整个 200 万像素吗?大多数模型在处理裁剪或缩小的图像时效果很好。作为输入处理的一部分(在 CPU 上)执行此操作,并将其参数化为任何正弦输入。

调整网络的大小会占用大量内存,尤其是如果您调整 所有 层的大小,并随输入维度进行缩放。在您提供的情况下,这将使您的内存需求增加大约 8 倍。

作为对您可以拥有的大小的检查,请在初始化网络时查看内存数据;我相信 Caffe 按层报告内存需求。