TensorFlow가 GPU를 사용하는지 확인
기계 학습 영역에서는 더 높은 계산을 수행해야 하는 경우가 많습니다. 이와 관련하여 기본 CPU는 GPU가 제공할 수 있는 백업 수준을 제공할 수 없습니다.
시스템에 GPU가 없으면 Google Colab, Kaggle 등과 같은 플랫폼이 있습니다.
일반적으로 TensorFlow는 CPU를 사용하지만 계산 속도는 GPU보다 거의 20배 느립니다. 그래서 우리는 시간을 절약하고 근성을 가지고 수행하기 위한 작업이 필요합니다.
어떤 컴퓨터 시스템을 사용하든 CUDA 지원 GPU 시스템이 있는지 확인해야 합니다. 특히 TensorFlow를 GPU와 병합하려면 시스템에 GPU가 필요합니다.
많은 솔루션이 있으며 가장 적합한 솔루션은 CUDA Toolkit, cudNN, GPU 드라이버 등을 설치해야 하는 도커 컨테이너
방식입니다. 주로 Nvidia는 기계 학습을 위한 특수 GPU를 제공합니다. 따라서 대부분의 자습서는 Nvidia 지향적입니다.
그러나 AMD, Nvidia, Intel 및 Qualcomm과 같은 가장 일반적인 GPU 공급업체에서 연속적으로 작동하는 이 분야의 새로운 추가 사항에 중점을 둘 것입니다. DirectML이라는 저수준 기계 학습 API입니다.
API는 하드웨어 가속 기계 학습 기본 연산자를 제공합니다. 다음 섹션에서는 로컬 Anaconda 환경에 설치하는 방법과 TensorFlow를 GPU와 바인딩하는 방법을 살펴보겠습니다.
DirectML을 사용하여 TensorFlow가 GPU를 사용하도록 설정
이 작업은 간단하며 작동하는 데 몇 줄의 명령만 필요합니다. 하지만 구체적으로 언급하자면 DirectML의 경우 일부 특정 버전의 TensorFlow와 Python만 작동합니다.
TensorFlow 버전 1.15.5 및 Python 3.6-3.7을 사용하는 것이 좋습니다.
처음에는 Anaconda 프롬프트를 열어 명령을 작성하거나 Anaconda 네비게이터에서 CMD.exe Prompt 애플리케이션을 열 수 있습니다. 다음으로 작업을 수행하고 필요한 패키지를 설치할 환경을 만듭니다.
다음 명령어를 확인해보자.
conda create -n tfdml python=3.6
conda activate tfdml
pip install tensorflow-directml
tfdml
환경을 생성한 후 진행 메시지가 표시되고 거기에 y
를 입력합니다. 그런 다음 DirecML을 활성화하고 설치합니다.
나중에 환경을 비활성화하고 base
환경에서 아래 명령을 따릅니다.
conda deactivate
conda install -c conda-forge jupyterlab
conda install -c conda-forge nb_conda_kernels
이들을 설치한 직후 tfdml
환경을 다시 활성화하고 다음과 같이 명령을 작성합니다.
conda activate tfdml
conda install ipykernel
ipython
따라서 ipython
을 실행할 때 Python 셸에 들어가고 여기에서 미리 빌드된 GPU를 통해 DirectML 장치가 생성되었는지 확인합니다. True
를 얻으면 TensorFlow가 이제 GPU를 사용하고 있습니다.
import tensorflow as tf
tf.test.is_gpu_available()
출력:
보시다시피 GPU AMD Radeon(TM)에는 DirectML 장치가 있어 TensorFlow가 GPU를 사용할 수 있습니다. 그리고 GPU 장치 이름을 확인하면 DML
로 반환됩니다.