tensorflow-gpu 使用的常见错误

这篇博客会不定期整理我在 tensorflow 中出现的问题和坑。

1. CUDA_ERROR_OUT_OF_MEMORY:

tensorflow 在执行过程中会默认使用全部的 GPU 内存,给系统保留 200 M,但是在我的系统上会在分配内存时被拒绝导致报错,因此我们可以使用如下语句指定 GPU 内存的分配比例:

# 配置每个 GPU 上占用的内存的比例
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.95)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

可以看看这里的解释:stackoverflow 

还有可能是这个问题:stackoverflow

 2. 设置提示信息的等级

# 在 import tensorflow 之前加入

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='1' # 这是默认的显示等级,显示所有信息

# 2级
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2' # 只显示 warning 和 Error

# 3级
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='3' # 只显示 Error

3. tensorflow 不能直接并发运行同时训练多个模型

即便是同步运算,如果不重置计算图,也会导致下标溢出的问题:

在每次执行新模型的训练之前,一定要重置计算图:

tf.reset_default_graph()
原文地址:https://www.cnblogs.com/luruiyuan/p/6675073.html