적용 대상:
IoT Edge 1.1
중요합니다
IoT Edge 1.1 지원 종료 날짜는 2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 자세한 내용은 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge로 업데이트하는 방법에 대한 자세한 내용은 업데이트 IoT Edge를 참조하세요.
이 문서에서는 다음 작업을 수행합니다.
- Azure Machine Learning Studio를 사용하여 기계 학습 모델을 학습합니다.
- 학습된 모델을 컨테이너 이미지로 패키지합니다.
- 컨테이너 이미지를 Azure IoT Edge 모듈로 배포합니다.
Machine Learning Studio는 기계 학습 모델을 실험, 학습 및 배포하는 데 사용되는 기본 블록입니다.
이 문서의 단계는 일반적으로 데이터 과학자가 수행할 수 있습니다.
자습서의 이 섹션에서는 다음 방법을 알아봅니다.
- Azure Machine Learning 작업 영역에서 Jupyter Notebook을 만들어 기계 학습 모델을 학습시킵니다.
- 학습된 기계 학습 모델을 컨테이너화합니다.
- 컨테이너화된 기계 학습 모델에서 IoT Edge 모듈을 만듭니다.
필수 조건
이 문서는 IoT Edge에서 Machine Learning을 사용하는 방법에 대한 자습서 시리즈의 일부입니다. 시리즈의 각 문서는 이전 문서의 작업을 기반으로 합니다. 이 문서에 직접 도착한 경우, 시리즈의 첫 번째 문서 를 참조하세요.
Azure Machine Learning 설정
Machine Learning Studio를 사용하여 두 개의 Jupyter Notebook과 지원 파일을 호스트합니다. 여기서는 Machine Learning 프로젝트를 만들고 구성합니다. Jupyter 또는 Machine Learning Studio를 사용하지 않은 경우 다음 두 가지 소개 문서가 있습니다.
- Jupyter Notebook: Visual Studio Code에서의 Jupyter Notebook 작업
- Azure Machine Learning: Jupyter Notebook에서 Azure Machine Learning 시작
비고
서비스를 설정한 후에는 모든 컴퓨터에서 Machine Learning에 액세스할 수 있습니다. 설치하는 동안 필요한 모든 파일이 있는 개발 VM을 사용해야 합니다.
Azure Machine Learning Visual Studio Code 확장 설치
개발 VM의 Visual Studio Code에는 이 확장이 설치되어 있어야 합니다. 다른 인스턴스에서 실행하는 경우 Visual Studio Code 확장 설정에 설명된 대로 확장을 다시 설치합니다.
Azure Machine Learning 계정 만들기
Azure에서 리소스를 프로비전하고 워크로드를 실행하려면 Azure 계정 자격 증명으로 로그인합니다.
Visual Studio Code의 메뉴 모음에서 명령 팔레트 보기를> 선택하여명령 팔레트를 엽니다.
명령 팔레트에 명령을
Azure: Sign In입력하여 로그인 프로세스를 시작합니다. 지침에 따라 로그인을 완료합니다.워크로드를 실행할 Machine Learning 컴퓨팅 인스턴스를 만듭니다. 명령 팔레트에서 명령을
Azure ML: Create Compute입력합니다.Azure 구독을 선택합니다.
+ 새 Azure ML 작업 영역 만들기를 선택하고 turbofandemo라는 이름을 입력합니다.
이 데모에 사용한 리소스 그룹을 선택합니다.
Visual Studio Code 창의 오른쪽 아래 모서리에 작업 영역 만들기 진행률이 표시됩니다. 작업 영역 만들기: turobofandemo. 이 단계는 1~2분 정도 걸릴 수 있습니다.
작업 영역이 성공적으로 만들어질 때까지 기다립니다. 표시되어야 하는 메시지는 Azure ML 작업 영역 turbofandemo가 생성되었습니다입니다.
Jupyter Notebook 파일 업로드
샘플 Notebook 파일을 새 Machine Learning 작업 영역에 업로드합니다.
ml.azure.com 이동하여 로그인합니다.
Microsoft 디렉터리, Azure 구독 및 새로 만든 Machine Learning 작업 영역을 선택합니다.
Machine Learning 작업 영역에 로그인한 후 왼쪽의 메뉴를 사용하여 Notebooks 섹션으로 이동합니다.
내 파일 탭을 선택합니다.
업로드(위쪽 화살표 아이콘)를 선택합니다.
C:\source\IoTEdgeAndMlSample\AzureNotebooks로 이동합니다. 목록에서 모든 파일을 선택하고 열기를 선택합니다.
이러한 파일의 콘텐츠를 신뢰하는 확인란을 선택합니다.
업로드를 선택하여 업로드를 시작합니다. 그런 다음 프로세스가 완료된 후 완료 를 선택합니다.
Jupyter Notebook 파일
Machine Learning 작업 영역에 업로드한 파일을 검토해 보겠습니다. 자습서 활동은 몇 가지의 지원 파일을 사용하는 두 개의 노트북 파일에 걸쳐 있습니다.
01-turbofan_regression.ipynb: 이 Notebook은 머신 러닝 워크스페이스를 사용하여 머신 러닝 실험을 만들고 실행합니다. 일반적으로 Notebook은 다음 단계를 수행합니다.
- 디바이스 하네스에서 생성된 Azure Storage 계정에서 데이터를 다운로드합니다.
- 데이터를 탐색하고 준비한 다음, 데이터를 사용하여 분류자 모델을 학습시킵니다.
- 테스트 데이터 세트(Test_FD003.txt)를 사용하여 실험에서 모델을 평가합니다.
- Machine Learning 작업 영역에 가장 적합한 분류자 모델을 게시합니다.
02-turbofan_deploy_model.ipynb: 이 Notebook은 이전 Notebook에서 만든 모델을 사용하여 IoT Edge 디바이스에 배포할 준비가 된 컨테이너 이미지를 만듭니다. Notebook은 다음 단계를 수행합니다.
- 모델에 대한 점수 매기기 스크립트를 만듭니다.
- Machine Learning 작업 영역에 저장된 분류자 모델을 사용하여 컨테이너 이미지를 생성합니다.
- 이미지를 Azure Container Instances에 웹 서비스로 배포합니다.
- 웹 서비스를 사용하여 모델의 유효성을 검사하고 이미지가 예상대로 작동하는지 확인합니다. 유효성이 검사된 이미지는 이 자습서의 사용자 지정 IoT Edge 모듈 만들기 및 배포 부분에서 IoT Edge 디바이스에 배포 됩니다.
Test_FD003.txt: 이 파일에는 학습된 분류자의 유효성을 검사할 때 테스트 집합으로 사용할 데이터가 포함되어 있습니다. 원래 콘테스트에 제공된 대로 테스트 데이터를 단순성을 위해 테스트 세트로 사용하기로 결정했습니다.
RUL_FD003.txt: 이 파일에는 Test_FD003.txt 파일에 있는 각 디바이스의 마지막 주기에 대한 남은 RUL(수명)이 포함됩니다. 데이터에 대한 자세한 설명은 C:\source\IoTEdgeAndMlSample\data\Turbofan의 readme.txt 및 손상 전파 Modeling.pdf 파일을 참조하세요.
Utils.py: 이 파일에는 데이터 작업을 위한 Python 유틸리티 함수 집합이 포함되어 있습니다. 첫 번째 Notebook에는 함수에 대한 자세한 설명이 포함되어 있습니다.
README.md: 이 README 파일은 노트북 사용 방법을 설명합니다.
Jupyter Notebook 실행
이제 작업 영역을 만들었으므로 Notebook을 실행할 수 있습니다.
내 파일 페이지에서 01-turbofan_regression.ipynb를 선택합니다.
Notebook이 신뢰할 수 없음으로 나열된 경우 Notebook의 오른쪽 위 모서리에서 신뢰할 수 없는 위젯을 선택합니다. 대화 상자가 나타나면 [신뢰]를 선택합니다.
최상의 결과를 보려면 각 셀에 대한 설명서를 읽고 개별적으로 실행합니다. 도구 모음에서 실행을 선택합니다. 나중에 여러 셀을 실행하는 것이 편하다는 것을 알게 될 것입니다. 업그레이드 및 사용 중단 경고를 무시할 수 있습니다.
셀이 실행 중이면 대괄호([*]) 사이에 별표가 표시됩니다. 셀의 작업이 완료되면 별표가 숫자로 대체되고 관련 출력이 나타날 수 있습니다. Notebook의 셀은 순차적으로 빌드되며 한 번에 하나의 셀만 실행할 수 있습니다.
셀 메뉴에서 실행 옵션을 사용할 수도 있습니다. Ctrl+Enter를 선택하여 셀을 실행하고 Shift+Enter를 선택하여 셀을 실행하고 다음 셀로 이동합니다.
팁 (조언)
일관된 셀 작업의 경우 브라우저의 여러 탭에서 동일한 Notebook을 실행하지 않도록 합니다.
전역 속성 설정 지침에 따른 셀에서 Azure 구독, 설정 및 리소스에 대한 값을 입력합니다. 그런 다음, 셀을 실행합니다.
작업 영역 세부 정보 이전의 셀에서 실행한 후 인증을 위해 로그인하도록 지시하는 링크를 찾습니다.
링크를 열고 지정된 코드를 입력합니다. 이 로그인 절차는 Microsoft Azure 플랫폼 간 명령줄 인터페이스를 사용하여 Azure 리소스에 액세스하기 위해 Jupyter Notebook을 인증합니다.
결과 탐색 이전에 있는 셀에서 실행 ID의 값을 복사하여 실행 재구성 다음에 있는 셀의 실행 ID에 붙여넣습니다.
Notebook의 나머지 셀을 실행합니다.
전자 필기장을 저장하고 프로젝트 페이지로 돌아갑니다.
02-turbofan_deploy_model.ipynb를 열고 각 셀을 실행합니다. 작업 영역 구성 다음에 있는 셀에서 인증하려면 로그인해야 합니다.
전자 필기장을 저장하고 프로젝트 페이지로 돌아갑니다.
성공 확인
노트북이 성공적으로 완료되었는지 확인하려면 몇 가지 항목이 생성되었는지 확인하세요.
Machine Learning Notebook 내 파일 탭에서 새로 고침을 선택합니다.
다음 파일이 만들어졌는지 확인합니다.
파일 설명 ./aml_config/.azureml/config.json Machine Learning 작업 영역을 만드는 데 사용되는 구성 파일입니다. ./aml_config/model_config.json Azure의 turbofanDemo Machine Learning 작업 영역에 모델을 배포하는 데 필요한 구성 파일입니다. myenv.yml 배포된 Machine Learning 모델의 종속성에 대한 정보를 제공합니다. 다음 Azure 리소스가 생성되었는지 확인합니다. 일부 리소스 이름에는 임의의 문자가 추가됩니다.
Azure 리소스 이름 Azure Machine Learning 작업 영역 turborfanDemo Azure Container Registry (애저 컨테이너 레지스트리) turbofandemoxxxxxxxx Application Insights (애플리케이션 인사이트) 터보팬인사이트xxxxxxxx Azure Key Vault (애저 키 볼트) turbofankeyvaultbxxxxxxxx Azure Storage 터보팬스토리지xxxxxxxxx
디버깅
값을 표시하는 명령과 같이 디버깅을 위해 Notebook에 print() Python 문을 삽입할 수 있습니다. 정의되지 않은 변수 또는 개체가 표시되면 처음 선언되거나 인스턴스화된 셀을 실행합니다.
Notebook을 다시 실행해야 하는 경우 이전에 만든 파일 및 Azure 리소스를 삭제해야 할 수 있습니다.
리소스 정리
이 자습서는 각 문서가 이전 문서에서 수행한 작업을 기반으로 빌드되는 집합의 일부입니다. 최종 자습서를 완료할 때까지 리소스를 정리하지 마세요.
다음 단계
이 문서에서는 Machine Learning Studio에서 실행되는 두 개의 Jupyter Notebook을 사용하여 터보팬 디바이스의 데이터를 사용하여 다음을 수행했습니다.
- RUL 분류자를 학습하세요.
- 분류자를 모델로 저장합니다.
- 컨테이너 이미지를 만듭니다.
- 이미지를 웹 서비스로 배포하고 테스트합니다.
다음 문서를 계속 진행하여 IoT Edge 디바이스를 만듭니다.