Notice
Recent Posts
Recent Comments
Link
Yunzz's 코딩정리
[Tensorflow/Keras] GPU 현명하게 활용하기 본문
Tensorflow에서는 GPU에 메모리 지정 방식을 바꿀 수 있는 2개의 옵션을 제공한다.
1) allow_growth
import tensorflow as tf
config = tf.ConfigProto()
config.gpu.options.allow_growth = True
session = tf.Session(config=config)
...
해당 옵션을 True로 설정할 경우, GPU 메모리가 전부 할당되지 않고 아주 적은 비율만 할당되어 시작해서 프로세스의 메모리 수요에 따라 증가하게 된다.
GPU 메모리를 모두 사용하고 있는 상황을 피할 때 유용한 옵션이며, 다만 증식만 가능하기 때문에 연산이 끝나고 메모리가 필요 없는 상황에서 할당 된 메모리를 판납하지 않으므로 메모리 파편화를 일으킬 수 있으니 주의할 것.
2) per_process_gpu_memory_fraction
import tensorflow as tf
config = tf.ConfigProto()
config.gpu.options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config)
...
해당 옵션은 원하는 GPU에 어느 비율로 메모리를 할당할지 먼저 결정하는 것으로, 프로세스가 어느정도의 메모리를 사용할지 알고 있다면 작업 전에 미리 지정하여 메모리를 아낄 수 있다.
위 옵션 중 하나를 사용하면, 메모리가 전부 할당되지 않으므로 추가적은 프로세스를 GPU에 할당할 수 있다.
즉, GPU가 1장이라도 2개 이상의 프로세스를 돌릴 수 있다
'Coding > Python' 카테고리의 다른 글
[Python] RDKit 활용한 분자구조 재조합 (Molecule Enumeration) (0) | 2024.01.23 |
---|