TensorFlow用于递归连接的高效共享内存分配

时间:2017-09-08 21:50:20

标签: python c++ memory-management tensorflow tensorflow-gpu

DenseNets倾向于占用TensorFlow中的大量内存,因为每个concat操作都存储在单独的分配中。最近的一篇论文Memory-Efficient Implementation of DenseNets表明,通过共享分配可以大大减少这种内存利用率。来自paper + pytorch实现的图像说明了共享内存方法:

densenet shared memory

如何使用TensorFlow实现这一点?如果不能通过python完成,如何在支持CPU和GPU的操作系统中正确实现?

我创建了TensorFlow Feature Request for necessary allocation functionality

1 个答案:

答案 0 :(得分:1)

现在可以在以下位置获得内存高效实现:

https://github.com/joeyearsley/efficient_densenet_tensorflow

上面链接中的相关功能是:

# Gradient checkpoint the layer
_x = tf.contrib.layers.recompute_grad(_x)