最佳答案
我在一个计算资源共享的环境中工作,也就是说,我们有几台服务器机器,每台机器都配备了几个Nvidia Titan X gpu。
对于中小尺寸的机型,Titan X的12gb容量通常足够2-3个人在同一个GPU上同时进行训练。如果模型足够小,单个模型不能充分利用GPU的所有计算单元,与一个接一个地运行训练进程相比,这实际上会导致加速。即使在对GPU的并发访问确实会降低单个训练时间的情况下,拥有多个用户同时在GPU上训练的灵活性仍然是很好的。
TensorFlow的问题在于,默认情况下,它在启动时分配了全部可用的GPU内存。即使是一个小型的两层神经网络,我看到所有12 GB的GPU内存都用完了。
有没有一种方法让TensorFlow只分配,比如说,4 GB的GPU内存,如果我们知道这对一个给定的模型来说已经足够了?