Azure Machine Learning(v1)을 위한 Python 개발 환경 설정
적용 대상: Python SDK azureml v1
Azure Machine Learning을 위한 Python 개발 환경을 구성하는 방법을 알아봅니다.
다음 표에서는 이 문서에서 다루는 각 개발 환경을 장단점과 함께 보여 줍니다.
환경 | 장점 | 단점 |
---|---|---|
로컬 환경 | 개발 환경 및 종속성에 대한 모든 권한 원하는 빌드 도구, 환경 또는 IDE를 사용하여 실행합니다. | 시작하는 데 시간이 더 오래 걸립니다. 필요한 SDK 패키지를 설치해야 하고, 아직 설치되어 있지 않은 경우에도 환경을 설치해야 합니다. |
DSVM(Data Science Virtual Machine) | 클라우드 기반 컴퓨팅 인스턴스(Python 및 SDK는 사전 설치됨)와 비슷하지만 널리 사용되는 기타 데이터 과학 및 기계 학습 도구가 미리 설치되어 있습니다. 쉽게 확장하고 다른 사용자 지정 도구 및 워크플로와 결합합니다. | 클라우드 기반 컴퓨팅 인스턴스보다 시작 환경이 느립니다. |
Azure Machine Learning 컴퓨팅 인스턴스 | 시작하는 가장 쉬운 방법 전체 SDK는 작업 영역 VM에 이미 설치되어 있으며, Notebook 자습서는 미리 복제되어 실행할 준비가 되었습니다. | 개발 환경 및 종속성에 대한 제어가 부족합니다. Linux VM의 경우 추가 요금이 발생합니다(요금 청구 방지를 위해 VM을 사용하지 않을 때 VM을 중지할 수 있음). 가격 세부 정보를 참조하세요. |
Azure Databricks | 확장 가능한 Apache Spark 플랫폼에서 대규모의 집약적 기계 학습 워크플로를 실행하는 데 적합합니다. | 실험적 기계 학습 또는 작은 규모의 실험 및 워크플로에 대한 과도한 수행 Azure Databricks에 대해 추가 비용이 발생합니다. 가격 세부 정보를 참조하세요. |
이 문서에서는 다음 도구에 대한 사용 팁도 제공합니다.
Jupyter Notebook: 이미 Jupyter Notebook을 사용 중인 경우 SDK를 통해 몇 가지 요소를 추가로 설치해야 합니다.
Visual Studio Code: Visual Studio Code를 사용하는 경우 Azure Machine Learning 확장에는 Python에 대한 광범위한 언어 지원 뿐만 아니라 Azure Machine Learning을 훨씬 더 편리하고 생산적으로 사용할 수 있는 기능이 포함되어 있습니다.
필수 조건
- Azure Machine Learning 작업 영역. 없는 경우 Azure Portal, Azure CLI 및 Azure Resource Manager 템플릿을 통해 Azure Machine Learning 작업 영역을 만들 수 있습니다.
로컬 및 DSVM만 해당: 작업 영역 구성 파일 만들기
작업 영역 구성 파일은 Azure Machine Learning 작업 영역과 통신하는 방법을 SDK에 알려주는 JSON 파일입니다. 파일 이름은 config.json이고 형식은 다음과 같습니다.
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
이 JSON 파일은 Python 스크립트 또는 Jupyter Notebook을 포함하는 디렉터리 구조 내에 있어야 합니다. 동일한 디렉터리, 하위 디렉터리 .azureml
또는 부모 디렉터리에 있을 수 있습니다.
코드에서 이 파일을 사용하려면 Workspace.from_config
메서드를 사용합니다. 이 코드는 파일의 정보를 로드하고 작업 영역에 연결합니다.
다음 메서드 중 하나를 수행하여 작업 영역 구성 파일을 만듭니다.
Azure Portal
파일 다운로드: Azure Portal에서, 해당 작업 영역의 개요 섹션에서 config.json 다운로드를 선택합니다.
Azure Machine Learning Python SDK
Azure Machine Learning 작업 영역에 연결하는 스크립트를 만들고
write_config
메서드를 사용하여 파일을 생성하고 .azureml/config.json으로 저장합니다.subscription_id
,resource_group
및workspace_name
을 사용자 고유의 값으로 바꿉니다.적용 대상: Python SDK azureml v1
from azureml.core import Workspace subscription_id = '<subscription-id>' resource_group = '<resource-group>' workspace_name = '<workspace-name>' try: ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name) ws.write_config() print('Library configuration succeeded') except: print('Workspace not found')
로컬 컴퓨터 또는 원격 VM 환경
로컬 컴퓨터 또는 원격 가상 머신(예: Azure Machine Learning 컴퓨팅 인스턴스 또는 Data Science VM)에서 환경을 설정할 수 있습니다.
로컬 개발 환경 또는 원격 VM을 구성하려면:
Python 가상 환경을 만듭니다(virtualenv, conda).
Important
Linux 또는 Mac OS에서 bash가 아닌 셸을 사용하는 경우(예: zsh) 일부 명령을 실행할 때 오류가 발생할 수 있습니다. 이 문제를 해결하려면
bash
명령을 사용하여 새 bash 셸을 시작하고 거기서 명령을 실행하세요.새로 만든 Python 가상 환경을 활성화합니다.
Azure Machine Learning 작업 영역을 사용하도록 로컬 환경을 구성하려면 작업 영역 구성 파일을 만들거나 기존 파일을 사용합니다.
로컬 환경이 설정되었으므로 이제 Azure Machine Learning 작업을 시작할 준비가 되었습니다. 시작하려면 Azure Machine Learning Python 시작 가이드를 참조하세요.
Jupyter 노트북
로컬 Jupyter Notebook 서버를 실행하는 경우 Python 가상 환경에 대한 IPython 커널을 만드는 것이 좋습니다. 이는 예상되는 커널 및 패키지 가져오기 동작을 보장하는 데 도움이 됩니다.
환경별 IPython 커널 활성화
conda install notebook ipykernel
Python 가상 환경에 대한 커널을 만듭니다.
<myenv>
를 Python 가상 환경으로 바꾸어야 합니다.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
Jupyter Notebook 서버 시작
Azure Machine Learning 및 Jupyter Notebook을 시작하려면 Azure Machine Learning Notebook 리포지토리를 참조하세요. 커뮤니티 기반 리포지토리인 AzureML 예도 참조하세요.
Visual Studio Code
개발에 Visual Studio Code를 사용하려면:
Visual Studio Code를 설치합니다.
Azure Machine Learning Visual Studio Code 확장(미리 보기)을 설치합니다.
Important
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다.
자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Visual Studio Code 확장이 설치되면 이를 사용하여 다음을 수행합니다.
- Azure Machine Learning 리소스 관리
- 컴퓨팅 인스턴스에 원격으로 연결된 Visual Studio Code 실행(미리 보기)
- 실험 실행 및 디버그
- 학습된 모델 배포(CLI v2).
Azure Machine Learning 컴퓨팅 인스턴스
Azure Machine Learning 컴퓨팅 인스턴스는 데이터 과학자에게 Jupyter Notebook 서버, JupyterLab 및 완전 관리형 기계 학습 환경을 제공하는 클라우드 기반 보안 Azure 워크스테이션입니다.
컴퓨팅 인스턴스를 설치하거나 구성할 수 없습니다.
Azure Machine Learning 작업 영역 내에서 언제든지 하나를 만듭니다. 이름을 입력하고 Azure VM 유형을 지정합니다. 지금 시작하려면 리소스 만들기를 사용해 보세요.
패키지를 설치하는 방법을 비롯하여 컴퓨팅 인스턴스에 대해 자세히 알아보려면 Azure Machine Learning 컴퓨팅 인스턴스 만들기 및 관리를 참조하세요.
팁
사용하지 않는 컴퓨팅 인스턴스에 대한 요금 발생을 방지하려면 컴퓨팅 인스턴스를 중지합니다. 또는 컴퓨팅 인스턴스 대해 유휴 종료를 사용하도록 설정합니다.
Jupyter Notebook 서버 및 JupyterLab 외에도 Azure Machine Learning 스튜디오 내의 통합된 Notebook 기능에서 컴퓨팅 인스턴스를 사용할 수 있습니다.
Azure Machine Learning Visual Studio Code 확장을 사용하여 VS Code를 통해 원격 컴퓨팅 인스턴스에 연결할 수도 있습니다.
데이터 과학 가상 머신
Data Science VM은 개발 환경으로 사용할 수 있는 사용자 지정된 VM(가상 머신) 이미지입니다. 데이터 과학 작업을 위해 설계되었으며 다음과 같은 도구 및 소프트웨어가 미리 구성되어 있습니다.
- TensorFlow, PyTorch, Scikit-learn, XGBoost 및 Azure Machine Learning SDK 같은 패키지
- Spark Standalone 및 Drill 같은 인기 있는 데이터 과학 도구
- Azure CLI, AzCopy 및 Storage Explorer 같은 Azure 도구
- Visual Studio Code 및 PyCharm 같은 IDE(통합 개발 환경)
- Jupyter Notebook 서버
보다 포괄적인 도구 목록은 Data Science VM 도구 가이드를 참조하세요.
Important
Data Science VM을 학습 또는 추론 작업에 대한 컴퓨팅 대상으로 사용할 계획인 경우 Ubuntu만 지원됩니다.
개별 환경으로 Data Science VM을 사용하려면:
다음 방법 중 하나를 사용하여 Data Science VM을 만듭니다.
Azure CLI 사용
Ubuntu Data Science VM을 만들려면 다음 명령을 사용합니다.
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
Windows DSVM을 만들려면 다음 명령을 사용합니다.
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
Azure Machine Learning SDK를 포함하는 conda 환경을 활성화합니다.
Ubuntu Data Science VM의 경우:
conda activate py36
Windows Data Science VM의 경우:
conda activate AzureML
Azure Machine Learning 작업 영역을 사용하도록 Data Science VM을 구성하려면 작업 영역 구성 파일을 만들거나 기존 항목을 사용합니다.
로컬 환경과 마찬가지로 Visual Studio Code와 Azure Machine Learning Visual Studio Code 확장을 사용하여 Azure Machine Learning과 상호 작용할 수 있습니다.
자세한 내용은 Data Science Virtual Machine를 참조하세요.
다음 단계
- MNIST 데이터 세트를 사용하여 Azure Machine Learning에서 모델을 학습 및 배포합니다.
- Python용 Azure Machine Learning SDK 참조를 참조하세요.