본문 바로가기
카테고리 없음

Tensorflow GPU 메모리 할당 제어

by xangmin 2020. 9. 4.
반응형

Pycharm에서 Tensorflow를 돌릴 때 기본적으로 1개의 Python만 실행이 된다.

 

여러 개 Python 파일을 실행하고 싶으면

 

CPU / GPU / GPU 메모리 등을 확인해야 한다.

 

우선 기본적으로 1개의 python 파일을  tensorflow를 사용할 때는 다음과 같다.

 

 

* watch nvidia-smi 확인하기

watch nvidia-smi

< 메모리 설정을 하지 않았을 때 >

GPU는 56%, GPU 메모리는 7699MB가 할당된 것을 확인할 수 있다.

 

메모리를 7699MB가 할당된 이유는  디폴트로 전체가 할당되기 때문이다.

 

그래서 2개 이상의 tensorflow를 돌리기 위해서는 메모리가 부족하다.

 

Python Code에서 GPU 메모리를 지정 혹은 최소로 설정을 해서 실행해보자.

# 메모리 최소 할당
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:

# 메모리 40% 할당
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
sess = tf.Session(config=config) as sess:

 

< 메모리 설정을 하고 2개 tensorflow를 실행했을 때 >

메모리 설정(최소할당)을 하고 tensorflow 2개 실행했을때의결과이다.

 

GPU는 80%, GPU메모리는 각각 363MB, 207MB가 할당된 것을 확인할 수 있다.

반응형

댓글