TensorFlow限制显存使用量
显式地设置显存使用比例
Tensorflow默认会完全占用满指定GPU的显存, 而线上部署后, 只需要进行推测, 是不需要占用完整块GPU显存的. 需要在代码中控制显存.
设置静态值
使用per_process_gpu_memory_fraction
参数, 显式的指定每块GPU使用的内存比例, 设置的范围为0~1, 代表占用上限为0~100%.
keras需要使用set_session
函数设置Session.
按需分配
使用allow_growth
设置显存按需分配, 动态增长. 但注意一旦当前服务获取到了一定数量的显存, 后面是不会再还给系统的, 即使因为某些原因显存使用降低了. 总结来说, 这是一个不可逆的过程.
参考资料
最后更新于