Windows ML을 사용하여 TensorFlow + DirectML: 비디오에서 실시간 개체 검색

Image classification flow

이 자습서에서는 UWP 애플리케이션에서 실시간 개체 검색 모델을 로컬로 학습하고 평가하는 방법을 보여 줍니다. 모델은 모든 Windows 디바이스에서 GPU 가속 교육을 제공하는 DirectML API를 통해 머신에서 로컬로 TensorFlow를 사용하여 학습됩니다. 그러면 학습된 모델이 Windows ML API를 사용하여 로컬로 프레임의 개체를 실시간으로 검색하도록 웹캠을 사용하는 UWP 앱에 통합됩니다.

먼저 머신에서 TensorFlow를 사용하도록 설정합니다.

TensorFlow를 사용하여 모델을 학습하는 방법을 알아보려면 모델 학습을 진행할 수 있습니다.

TensorFlow 모델이 있지만 WinML API와 함께 사용하기에 적합한 ONNX 형식으로 변환하는 방법을 알아보려면 모델 변환을 참조하세요.

모델이 있고 WinML 앱을 처음부터 만드는 방법을 알아보려면 모델 배포로 이동합니다.

DirectML을 사용하여 TensorFlow에 대한 GPU 가속 사용

머신에서 TensorFlow를 사용하도록 설정하려면 다음 단계를 진행합니다.

Windows 버전 확인

기본 Windows에서 DirectML 패키지를 사용하는 TensorFlow는 Windows 10 버전 1709(빌드 16299) 또는 이후 버전의 Windows에서 작동합니다. Run 명령(Windows logo key + R)을 통해 winver를 실행하여 빌드 버전 번호를 확인할 수 있습니다.

GPU 드라이버 업데이트 확인

최신 GPU 드라이버가 설치되어 있는지 확인합니다. 설정 앱의 Windows 업데이트 섹션에서 업데이트 확인을 선택합니다.

DirectML 미리 보기를 사용하여 TensorFlow 설정

TensorFlow와 함께 사용하는 경우 Windows 내에서 가상 Python 환경을 설정하는 것이 좋습니다. 가상 Python 환경을 설정하는 데 사용할 수 있는 여러 도구가 있습니다. 이러한 지침에 대해서는 Anaconda의 miniconda를 사용합니다. 이 설치의 나머지 부분에서는 miniconda 환경을 사용한다고 가정합니다.

Python 환경 설정

참고 항목

아래 명령에서 Python 3.6을 사용합니다. 그러나 tensorflow-directml 패키지는 Python 3.5, 3.6 또는 3.7 환경에서 작동합니다.

머신에 Miniconda Windows 설치 관리자를 다운로드하여 설치합니다. 필요한 경우 Anaconda의 사이트에 설치에 대한 추가 지침이 있습니다. Miniconda가 설치되면 directml이라는 Python을 사용하여 환경을 만들고 다음 명령을 통해 활성화합니다.

conda create --name directml python=3.6 conda activate directml

DirectML 패키지를 사용하는 Tensorflow 설치

참고 항목

tensorflow-directml 패키지는 TensorFlow 1.15만 지원합니다.

다음 명령을 실행하여 pip를 통해 DirectML 패키지를 사용하여 TensorFlow를 설치합니다.

pip install tensorflow-directml

패키지 설치 확인

tensorflow-directml 패키지를 설치한 후에는 두 개의 텐서를 추가하여 올바르게 실행되는지 확인할 수 있습니다. 다음 줄을 대화형 Python 세션에 복사합니다.

import tensorflow.compat.v1 as tf 

tf.enable_eager_execution(tf.ConfigProto(log_device_placement=True)) 

print(tf.add([1.0, 2.0], [3.0, 4.0])) 

DML 디바이스에 추가 연산자가 포함된 다음과 유사한 출력이 표시됩니다.

다음 단계

이제 사전 요구 사항을 확인했으므로 WinML 모델 만들기로 진행할 수 있습니다. 다음 부분에서는 TensorFlow를 사용하여 실시간 개체 검색 모델을 만듭니다.

Important

TensorFlow, TensorFlow 로고 및 모든 관련 마크는 Google Inc.의 상표입니다.