最近用GoogleNet (inception-v3)做fine-tune训练时,遇到了一个问题。当我选择单个GPU训练时候,服务器中所有的GPU显存都会被占满,如下图所示:
出现以上问题的原因是tensorflow在训练时默认占用所有GPU的显存。 可以通过以下方式解决该问题: 1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数的一部分来显式地指定需要分配的显存比例,如下所示:
per_process_gpu_memory_fraction指定了每个GPU进程中使用显存的上限,但它只能均匀作用于所有GPU,无法对不同GPU设置不同的上限
2、尝试如下设置:
3、在执行训练脚本前使用:
|
|
来自: 雪柳花明 > 《TensorFlow》