咖啡 |检查失败:error == cudaSuccess (2 vs. 0) out of memory

Caffe | Check failed: error == cudaSuccess (2 vs. 0) out of memory

我正在尝试在 Caffe 上训练网络。我的图像尺寸为 512x640。批量大小为 1。我正在尝试实施 FCN-8s

我目前运行在具有 4GB GPU 内存的 Amazon EC2 实例 (g2.2xlarge) 上执行此操作。但是当我 运行 解算器时,它立即抛出一个错误

Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
Aborted (core dumped)

有人可以帮我从这里开始吗?

你得到的错误确实是内存不足,但它不是RAM,而是GPU内存(注意错误来自CUDA)。
通常,当 caffe 内存不足时 - 首先要做的是减小批处理大小(以 为代价),但由于您已经处于批处理大小 = 1...
您确定 训练和测试阶段的批量大小都是 1 吗?

Caffe 可以使用多个 GPU。这仅在 C++ 接口中受支持,在 python 接口中不受支持。您还可以启用 cuDNN 以减少内存占用。

https://github.com/BVLC/caffe/blob/master/docs/multigpu.md

当 运行 Deeplab v2 在具有以下配置的 PC 上时,我遇到了类似的问题:

----------
OS: Ubuntu 18.04.3 LTS (64-bit)
----------
Processor: Intel Core i7-6700k CPU @ 4.00 GHz x 8
----------
GPU: GeForce GTX 780 (3022 MiB)
----------
RAM : 31.3 GiB
----------

将测试和训练批量大小都更改为 1 对我没有帮助。但是,改变输出图像的尺寸确实做到了!

我遇到了同样的问题。在我强行终止与训练相关的进程后,它得到了解决-> kill -9 pid。不知道为什么,之前的train.py流程还是运行.