如何防止TensorFlow分配GPU内存的全部?
我在一个共享计算资源的环境中工作,也就是说,我们有几台服务器机器,每个服务器都配备了几个Nvidia Titan X GPU。
对于中小型型号,12 GB的土卫六X通常足以让2-3人同时在同一个GPU上进行训练。如果模型足够小,单个模型不能充分利用土卫六X的所有计算单元,那么与一个接一个的训练过程相比,这实际上会导致加速。即使在对GPU的并发访问确实减慢了单个培训时间的情况下,仍然可以灵活地让多个用户同时在GPU上运行。
TensorFlow的问题是,默认情况下,当GPU启动时,它会在GPU上分配全部可用内存。即使对于一个小的两层神经网络,我看到12 GB的土卫六X已经用完了。
是否有办法使TensorFlow只分配,例如,4GB的GPU内存,如果一个人知道这个数量足够一个给定的模型?