jupyter-notebook釋放視訊記憶體
阿新 • • 發佈:2019-02-05
在用jupyter notebook執行程式時出現如下bug: ResourceExhaustedError: OOM when allocating tensor with shape[4096,4096] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [[Node: random_normal_1/RandomStandardNormal = RandomStandardNormal[T=DT_INT32, dtype=DT_FLOAT, seed=0, seed2=0, _device="/job:localhost/replica:0/task:0/device:GPU:0"](random_normal_1/shape)]] Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
原因:Jupyter notebook 每次執行完tensorflow的程式,佔著視訊記憶體不釋放。
解決方式:在程式開頭加上如下程式
import os import tensorflow as tf os.environ["CUDA_VISIBLE_DEVICES"] = '0' #指定第一塊GPU可用 config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 程式最多隻能佔用指定gpu50%的視訊記憶體 config.gpu_options.allow_growth = True #程式按需申請記憶體 sess = tf.Session(config = config)