显存优化的 Caffe 主要实现的功能: memory multiloading
在深度网络训练和测试时,可以显著地节省内存.
训练时,节省一半内存;
测试时, 使用 95% 的内存....在训练深度网络时, GPU显存资源是有限的....资源消费者即是网络中的网络层(layers/operations),
在 GPU 保存着训练时的中间结果(intermediate results)....也就是说, 每个内存块只有在计算时才占用物理内存; 且, 不再使用时, 就可以释放物理内存.
内存优化核心思想的实现可以共享存储资源并节省内存....由于 Caffe 具有完全不同的内存模型, 其每个内存块是由 OS/GPU 来自动分配的. 在内存池中实现类似功能是比较棘手的.
相反地, 采用了一种替代方法.