Keras 기반 Multi GPU 사용법
Keras(케라스)는 파이썬으로 작성된 오픈 소스 신경망 라이브러리로, MXNet, Deeplearning4j, 텐서플로, Microsoft Cognitive Toolkit 또는 Theano 위에서 수행할 수 있는 High-level Neural Network API이다. NEURON의cas_v100_2, cas_v100nv_4, cas_v100nv_8, amd_a100nv_8 큐에는 한 노드에 2개, 4개, 8개의 GPU가 장착되어 있어, 단일노드를 이용할 때에도 GPU를 여러 대 사용하여 신경망 학습을 할 수 있는 환경이 구축되어 있다.
가. Multi-GPU 사용을 위한 코드 변경 및 작업 제출 방법
1. [from keras.utils import multi_gpu_model] 모듈 추가
import keras from keras.datasets import cifar10 from keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten from keras.layers import Conv2D, MaxPooling2D from keras.utils import multi_gpu_model import os |
2. 코드 내 multi-gpu사용 선언
# initiate RMSprop optimizer opt = keras.optimizers.rmsprop(lr=0.0001, decay=1e-6) # multi-gpu model = multi_gpu_model(model, gpus=2) # Let's train the model using RMSprop model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) |
※ 사용하고자하는 GPU 개수만큼 gpus를 설정. (ex. cas_v100nv_4노드의 경우에는 gpus=4라고 설정)
3. 작업제출 스크립트
2022년 11월 9일에 마지막으로 업데이트되었습니다.
Last updated