一、使用GPU训练的时候会遇到的问题
默认下,Tensorflow会占用机器上所有可见的GPU显存。这也就是说tensorflow一次只能训练一个进程,当使用服务器或者其他共用的设备时,会耗费大量资源。
二、解决方法
1)指定GPU进行训练
$ os.environ['CUDA_VISIBLE_DEVICES'] = '0' # FLAGS.gpu_id, 指定gpu0卡
2)按照程序实际需要分配显存
$ config = tf.ConfigProto()
$ config.gpu_options.allow_growth = True
$ sess = tf.Session(config=config)
3)限制使用显存的比例
$ config = tf.ConfigProto()
$ config.gpu_options.per_process_gpu_memory_fraction = 0.7 #分配70%的显存
$ sess = tf.Session(config=config)