본문 바로가기
코드 정리/오류

주피터 오류 - GPU 메모리 문제(Out of Memory) 발생

by pumkinni 2022. 6. 23.

주피터 오류 - GPU 메모리 문제(Out of Memory) 발생 


tensorflow가 시작부터 메모리를 다 잡아먹을 때

 

런타임에 메모리 할당

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
    try:
    # Currently, memory growth needs to be the same across GPUs
    for gpu in gpus:
        tf.config.experimental.set_memory_growth(gpu, True)
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
    except RuntimeError as e:
    # Memory growth must be set before GPUs have been initialized
        print(e)

 

또는, 처음부터 매핑은 허락하지만 매핑되는 메모리 크기 제한

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
  # 텐서플로가 첫 번째 GPU에 1GB 메모리만 할당하도록 제한
  try:
    tf.config.experimental.set_virtual_device_configuration(
        gpus[0],
        [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=1024)])
  except RuntimeError as e:
    # 프로그램 시작시에 가상 장치가 설정되어야만 합니다
    print(e)