Azure Machine Learning을 위한 Python 개발 환경 설정
적용 대상: Python SDK azure-ai-ml v2(현재)
Azure Machine Learning을 위한 Python 개발 환경을 구성하는 방법을 알아봅니다.
다음 표에서는 이 문서에서 다루는 각 개발 환경을 장단점과 함께 보여 줍니다.
환경 | 장점 | 단점 |
---|---|---|
로컬 환경 | 개발 환경 및 종속성에 대한 모든 권한 원하는 빌드 도구, 환경 또는 IDE를 사용하여 실행합니다. | 시작하는 데 시간이 더 오래 걸립니다. 필요한 SDK 패키지를 설치해야 하고, 아직 설치되어 있지 않은 경우에도 환경을 설치해야 합니다. |
DSVM(Data Science Virtual Machine) | 클라우드 기반 컴퓨팅 인스턴스(Python은 사전 설치됨)와 비슷하지만 널리 사용되는 추가 데이터 과학 및 기계 학습 도구가 미리 설치되어 있습니다. 쉽게 확장하고 다른 사용자 지정 도구 및 워크플로와 결합합니다. | 클라우드 기반 컴퓨팅 인스턴스보다 시작 환경이 느립니다. |
Azure Machine Learning 컴퓨팅 인스턴스 | 시작하는 가장 쉬운 방법 SDK는 작업 영역 VM에 이미 설치되어 있으며, Notebook 자습서는 미리 복제되어 실행할 준비가 되었습니다. | 개발 환경 및 종속성에 대한 제어가 부족합니다. Linux VM에 대해 발생하는 추가 비용입니다(비용 부과를 방지하도록 사용하지 않는 경우 VM을 중지할 수 있음). 가격 세부 정보를 참조하세요. |
또한 이 문서에서는 다음 도구에 대한 추가 사용 팁을 제공합니다.
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*이라는 하위 디렉터리 또는 부모 디렉터리에 있을 수 있습니다.
코드에서 이 파일을 사용하려면 MLClient.from_config
메서드를 사용합니다. 이 코드는 파일의 정보를 로드하고 작업 영역에 연결합니다.
다음 메서드 중 하나를 수행하여 작업 영역 구성 파일을 만듭니다.
Azure Machine Learning 스튜디오
파일 다운로드:
- Azure Machine Learning Studio에 로그인
- 오른쪽 위 Azure Machine Learning 스튜디오 도구 모음에서 작업 영역 이름을 선택합니다.
- 구성 파일 다운로드 링크를 선택합니다.
Azure Machine Learning Python SDK
Azure Machine Learning 작업 영역에 연결하도록 스크립트를 만듭니다.
subscription_id
,resource_group
및workspace_name
을 사용자 고유의 값으로 바꿉니다.적용 대상: Python SDK azure-ai-ml v2(현재)
#import required libraries from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential #Enter details of your Azure Machine Learning workspace subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace = '<AZUREML_WORKSPACE_NAME>' #connect to the workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
로컬 컴퓨터 또는 원격 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 을 참조하세요.
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 서버 시작
팁
Notebook 예제는 AzureML-Examples 리포지토리를 참조하세요. SDK 예제는 /sdk/python 아래에 있습니다. 예를 들어 구성 Notebook 예제가 있습니다.
Visual Studio Code
개발에 Visual Studio Code를 사용하려면:
- Visual Studio Code를 설치합니다.
- Azure Machine Learning Visual Studio Code 확장(미리 보기)을 설치합니다.
Visual Studio Code 확장이 설치되면 이를 사용하여 다음을 수행합니다.
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 환경을 만듭니다.
conda create -n py310 python=310
환경이 만들어지면 활성화하고 SDK를 설치합니다.
conda activate py310 pip install azure-ai-ml azure-identity
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 참조를 참조하세요.