1. 程式人生 > >jupyter-notebook釋放視訊記憶體

jupyter-notebook釋放視訊記憶體

在用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)