728x90
728x90

아나콘다(Anaconda) 프롬프트에서 실습 환경 세팅하기 (PyTorch)

들어가며

  • 머신러닝(ML), 딥러닝(DL) 실습을 위해 컴퓨터에 아나콘다(Anaconda)를 설치한 후, 아나콘다 프롬프트를 통해 실습 환경을 구축하는 과정을 정리해본다.
  • 실습은 한국 마이크로소프트(Microsoft Korea)에서 AI 프로젝트 제작 용도로 제공해준 애저(Azure) 클라우드 윈도우 VM을 이용하여 진행하였다. (이 클라우드 윈도우 VM을 이용하여 앞으로 2개월 동안 파이토치(PyTorch)를 이용하여  AI 프로젝트를 진행할 예정이다.)

 

실습하기

  • 이번 실습은 그래픽 카드(NVIDIA Tesla T4)가 내장된 애저(Azure) 클라우드Windows Server 2019 VM에서 진행하였다. (이 VM의 자세한 스펙은 아래와 같다.)
OS : Windows Server 2019 (Datacenter)
CPU : AMD EPYC 7V12 64-Core Processor
그래픽 카드 : NVIDIA Tesla T4
RAM : 28GB

 

가상 환경 생성하기

  • 우선 아나콘다 프롬프트(Anaconda Prompot)를 실행한 후, 가상 환경을 생성한다.
  • 가상 환경을 생성하면 패키지별 버전을 맞출 수 있고, 해결되지 않는 이슈가 발생할 때마다 언제든지 가상 환경을 지우고 다시 생성해서 해결할 수 있는 장점이 있다.
> conda create -n MS_AI_SCHOOL -y python=3.11

 

명령어 설명

@conda create@ : 가상 환경을 생성한다.

@-n@ : 가상 환경의 이름을 설정한다.

@-y@ : 가상 환경을 생성할 때 질의에 대한 응답을 무조건 @y@로 지정한다.

@python=3.11@ : 파이썬의 버전을 설정한다.

 

 

 

'conda search version' 명령을 입력하면, 
아나콘다에서 가상 환경으로 생성할 수 있는 
파이썬 버전을 모두 확인해볼 수 있다. 

 

생성한 가상 환경을 활성화하기

  • 생성한 가상 환경(@MS_AI_SCHOOL@)을 활성화 하기 위해 아래의 명령을 실행한다.
> conda activate MS_AI_SCHOOL

가상 환경이 활성화 되었다. (프롬프트 옆에 (MS_AI_SCHOOL)이 표시되어 있는 것을 확인할 수 있다.)

 

그래픽 카드 버전 확인하기

  • 아래의 명령을 실행하여 컴퓨터에 장착된 NVIDIA 그래픽 카드의 CUDA 버전을 확인해본다.
> nvcc --version

CUDA 버전이 11.4임을 확인할 수 있다.

 

CUDA 버전에 적합한 파이토치(PyTorcch) 드라이버 설치하기

  • 위에서 확인한 CUDA 버전(@V11.4@)을 토대로 CUDA 드라이버를 설치한다.
  • 확인한 CUDA 버전은 @11.4@이나, 상위 버전인 @11.7@ 버전을 설치해본다.
  • 아래의 사이트에서 CUDA 버전에 맞는 드라이버를 설치하기 위한 명령을 찾아볼 수 있다.

 

PyTorch

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

pytorch.org

 

PyTorch

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

pytorch.org

 

> conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

 

  • 설치할 패키지가 많아서 시간이 조금 걸린다. 설치가 완료되면 @done@이라는 메시지가 터미널에 출력된다.

 

필요 없는 가상 환경 제거하기

  • 아래의 명령을 실행해서 생성된 가상 환경을 확인해본다. 
> conda info --envs

 

  • 아래의 명령을 실행하여 필요 없는 가상 환경들을 제거해준다.
> conda remove -n [가상환경명] --all

 

  • 또는 아래의 경로로 이동하여 필요 없는 가상 환경들을 삭제해줄 수도 있다.
C:\Miniconda\envs

 

실습에 필요한 패키지 설치하기

  • 아래의 명령들을 실행하여 앞으로 ML/DL 실습을 하면서 사용하게 될 패키지들을 설치해준다.
> pip install opencv-python==4.7.0.68
> pip install tqdm
> pip install matplotlib
> pip install Pillow==9.4.0
> pip install tensorboard
> pip install pandas
> pip install seaborn
> pip install scikit-learn    # 또는 sklearn

 

@pip freeze@ 명령을 통해 다른 가상 환경에서 패키지들을 한 번에 설치하기

  • 참고로, 아래의 명령을 실행하면, 현재 터미널의 경로(@C:\Users\labadmin@)에 @requirements.txt@ 파일을 생성한다.
    • @pip freeze@ 명령어는 현재 작업 환경(가상 환경)에 설치되어 있는 패키지의 리스트를 모두 출력해주는 명령어이다.
> pip freeze > requirements.txt

터미널에서 'pip freeze' 명령을 실행한 모습

현재 터미널의 경로에 requirements.txt 파일이 생성된 모습
requirements.txt 파일을 실행한 모습
absl-py==1.4.0
brotlipy==0.7.0
cachetools==5.3.1
certifi @ file:///C:/b/abs_4a0polqwty/croot/certifi_1683875377622/work/certifi
cffi @ file:///C:/ci_311/cffi_1676423759166/work
charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
colorama==0.4.6
contourpy==1.1.0
cryptography @ file:///C:/b/abs_b28tzldafl/croot/cryptography_1686613103834/work
cycler==0.11.0
filelock @ file:///C:/ci_311/filelock_1676427284139/work
fonttools==4.40.0
google-auth==2.22.0
google-auth-oauthlib==1.0.0
grpcio==1.56.0
idna @ file:///C:/ci_311/idna_1676424932545/work
Jinja2 @ file:///C:/ci_311/jinja2_1676424968965/work
kiwisolver==1.4.4
Markdown==3.4.3
MarkupSafe @ file:///C:/ci_311/markupsafe_1676424152318/work
matplotlib==3.7.2
mkl-fft==1.3.6
mkl-random @ file:///C:/Users/dev-admin/mkl/mkl_random_1682977971003/work
mkl-service==2.4.0
mpmath==1.2.1
networkx @ file:///C:/b/abs_b935xy_9g6/croot/networkx_1678964342510/work
numpy @ file:///C:/b/abs_5akk51tu0f/croot/numpy_and_numpy_base_1687466253743/work
oauthlib==3.2.2
opencv-python==4.7.0.68
packaging==23.1
pandas==2.0.3
Pillow==9.4.0
protobuf==4.23.4
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pyOpenSSL @ file:///C:/b/abs_de215ipd18/croot/pyopenssl_1678965319166/work
pyparsing==3.0.9
PySocks @ file:///C:/ci_311/pysocks_1676425991111/work
python-dateutil==2.8.2
pytz==2023.3
requests @ file:///C:/b/abs_41owkd5ymz/croot/requests_1682607524657/work
requests-oauthlib==1.3.1
rsa==4.9
seaborn==0.12.2
six==1.16.0
sympy @ file:///C:/ci_311_rebuilds/sympy_1679009400182/work
tensorboard==2.13.0
tensorboard-data-server==0.7.1
torch==2.0.1
torchaudio==2.0.2
torchvision==0.15.2
tqdm==4.65.0
typing_extensions @ file:///C:/b/abs_5em9ekwz24/croot/typing_extensions_1686602003259/work
tzdata==2023.3
urllib3 @ file:///C:/b/abs_889_loyqv4/croot/urllib3_1686163174463/work
Werkzeug==2.3.6
win-inet-pton @ file:///C:/ci_311/win_inet_pton_1676425458225/work

 

  • 이 @requirements.txt@ 파일을 이용하여, 아래의 명령을 실행하면 다른 가상 환경에서도 똑같은 패키지들을 한 번에 설치할 수 있다.
    • 다른 가상 환경에서 아래의 명령을 실행하면, 이전 가상 환경(@MS_AI_SCHOOL@)에 설치했던 패키지들을 한 꺼번에 설치할 수 있다.
> pip install -r requirements.txt

 

  • @requirements.txt@ 파일에서 필요 없는 부분은 삭제해주고 아래의 내용만 남겨준다.
    • 그리고 반드시 @torch@, @torchaudio@, @torchvision@ 부분은 리스트에서 삭제해준다.
      • 이 패키지들은 파이토치 공식 홈페이지(pytorch.org)에서 직접 설치를 할 것이다.
      • 이 패키지들을 콘다에서 설치할 경우, 툴킷(Toolkit)이 같이 따라오지 않는다.
absl-py==1.4.0
brotlipy==0.7.0
cachetools==5.3.1
colorama==0.4.6
contourpy==1.1.0
cycler==0.11.0
fonttools==4.40.0
google-auth==2.21.0
google-auth-oauthlib==1.0.0
grpcio==1.56.0
kiwisolver==1.4.4
Markdown==3.4.3
matplotlib==3.7.2
mkl-fft==1.3.6
mkl-service==2.4.0
mpmath==1.2.1
oauthlib==3.2.2
opencv-python==4.7.0.68
packaging==23.1
pandas==2.0.3
Pillow==9.4.0
protobuf==4.23.4
pyasn1==0.5.0
pyasn1-modules==0.3.0
pyparsing==3.0.9
python-dateutil==2.8.2
pytz==2023.3
requests-oauthlib==1.3.1
rsa==4.9
seaborn==0.12.2
six==1.16.0
tensorboard==2.13.0
tensorboard-data-server==0.7.1
tqdm==4.65.0
tzdata==2023.3
Werkzeug==2.3.6

 

마치며

  • 클라우드 윈도우 VM에서 파이토치(PyTorch)를 이용하여 ML/DL 관련 실습을 할 수 있는 환경을 구축하였다.
728x90
728x90