这篇博客会不按期整理我在 tensorflow 中出现的问题和坑。python
1. CUDA_ERROR_OUT_OF_MEMORY:并发
tensorflow 在执行过程当中会默认使用所有的 GPU 内存,给系统保留 200 M,可是在个人系统上会在分配内存时被拒绝致使报错,所以咱们可使用以下语句指定 GPU 内存的分配比例:spa
# 配置每一个 GPU 上占用的内存的比例 gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.95) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
能够看看这里的解释:stackoverflow code
还有多是这个问题:stackoverflowblog
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 不能直接并发运行同时训练多个模型get
即使是同步运算,若是不重置计算图,也会致使下标溢出的问题:同步
在每次执行新模型的训练以前,必定要重置计算图:博客
tf.reset_default_graph()