모바일 메뉴 닫기
 

데이터센터

사용 환경 구성

Anaconda

Anaconda 란

사용자의 Home 디렉토리에 설치해서 다양한 버젼의 Python 을 설치하고
쉽게 전환하며 사용할 수 있게 해주는 도구.
 
1. Anaconda 다운로드 및 설치
웹 브라우져로 Anaconda download 페이지에 접속 한 후
[Download] -> [Linux] -> [64-Bit (x86) Installer (529 MB)] 를
마우스 포인터로 가르킨 후 오른쪽 클릭하여 "링크주소 복사" 를 합니다.

 

https://www.anaconda.com/products/individual


터미널 창에서 HOME 디렉토리로 이동한 다음
wget 명령과 함께 복사된 링크를 붙여넣고 실행하면 다운로드가 시작 됩니다.
 
cd ~   # ~   =>>  사용자의 home 디렉토리 경로
 
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
 
 
다운로드가 완료되면 저장된 파일을 확인 한 후 실행하여 설치를 진행 합니다.
 
ls -lh   # l = 목록(list) 형태로 출력  , h = human-readable (숫자를 사람이 읽기 쉬운 단위로 표시).
 
file  ~/Anaconda3-2020.11-Linux-x86_64.sh  # 파일이 어떤 형식으로 되어있는시 확인.
 
bash  ~/Anaconda3-2020.11-Linux-x86_64.sh  # 스크립트 파일을 실행.
license terms 는 yes 입력.
 
설치 경로는 기본값 "/home//anaconda3" 그대로 Enter.
 
running conda init 는 yes 입력.
 
 
 
conda env list 명령을 입력하면 기본 설치된 "base" 환경(environments)이 확인 됩니다.
 
아래 명령을 입력해서 로그인시 base 환경이 자동으로 활성화 되지 않도록 합니다.
 
conda config --set auto_activate_base false
 
 
conda를 최신 버젼으로 업데이트 합니다.
 
conda update -n base -c defaults conda
 
 
2. Python + CUDA, tensorflow 환경 구성
conda create 명령을 통해서 [python 3.6.5 | cuda 9.0 | cudnn 7] 로 구성된 환경을 만들고,
만들어진 환경을 활성화 시킨 후 pip install 명령을 통해 tensorflow-gpu 1.11 을 설치 하겠습니다.
 
# 환경 생성.   (-n == name 생성하는 환경 이름  -c == channel 필요한 환경요소를 다운로드 받는 저장소 이름.)
conda create    -n py36-tf1.11-cuda9.0    -c anaconda    python=3.6  cudatoolkit=9.0  cudnn=7
 
# 생성된 환경 목록 확인.
conda env list
 
# 환경 활성화.
conda activate   py36-tf1.11-cuda9.0  
 
# 활성화된 환경 안에서 python 과 pip 명령의 위치 확인.
which   python
which   pip
 
# 활성화된 환경 안에서 python 과 pip 명령의 버젼 확인.
python --version
pip    --version
 
# tensorflow-gpu 1.11 설치
pip  install   tensorflow-gpu==1.11
 
# 설치된 tensorflow-gpu 버젼 확인.
pip list | grep tensorflow-gpu
 
# 환경 비활성화
conda deactiavte
 
#비활성화 된 환경에서 python 과 pip 명령 위치 확인.
python --version
pip    --version
 
3. Anaconda 환경에서 TensorFlow Sample Code 실행
만들어진 환경을 활성화 해서 TensorFlow Sample Code 를 실행해 보겠습니다.
 
# 생성된 환경 목록 확인.
conda env list
 
# 환경 활성화.
conda activate   py36-tf1.11-cuda9.0  
 
# 활성화된 환경 안에서 python 과 pip 명령의 버젼 확인.
python --version
 
# 설치된 tensorflow-gpu 버젼 확인.
pip list | grep tensorflow-gpu
 
# Sample Code 를 실행해 보기 전에 gpu 상태 확인
gpustat
 
nvidia-smi
 
# Sample Code 실행 1 (short)
python  ~/TensorFlow-Examples/examples/3_NeuralNetworks/neural_network_raw.py
 
# Sample Code 실행 2 (long)
pip install matplotlib
python  ~/TensorFlow-Examples/examples/3_NeuralNetworks/dcgan.py
Sample Code 가 gpu 에서 잘 작동 되는지 확인하기 위해
터미널 창을 하나 더 열어서 클러스터에 접속 합니다.
 
watch   gpustat
 
nvidia-smi --loop=2  # loop
 
watch   'nvidia-smi ; echo ; gpustat'
 
 
4. bash 스크립트 (Script) 파일로 만들어서 실행
cat 명령을 이용해서 스크립트 파일을 생성 합니다.
 
cat << EOF >  ~/anaconda-py36-tf1.11-example.sh
# HOME 디렉토리로 이동.  
cd ~
 
# bashrc 불러오기.  
source  .bashrc
 
# conda 환경 비활성화.  
conda deactivate
 
# 원하는 conda 환경 활성화.  
conda activate   py36-tf1.11-cuda9.0  
 
# 샘플코드 실행.
python  ~/TensorFlow-Examples/examples/3_NeuralNetworks/neural_network_raw.py
 
# End.
EOF
파일이 잘 생성되었는지 확인 후 bash 명령으로 파일을 실행 합니다.
 
cat ~/anaconda-py36-tf1.11-example.sh
 
bash ~/anaconda-py36-tf1.11-example.sh
 
5. Anaconda 환경 yaml 로 내보내기, 제거, yaml 에서 불러오기
1) Anaconda 환경 yaml 로 내보내기
conda deactivate
conda env list
 
conda env export  -n py36-tf1.11-cuda9.0   >   ~/conda-py3-ten1.11-cuda9.yaml
 
file ~/conda-py3-ten1.11-cuda9.yaml
 
cat  ~/conda-py3-ten1.11-cuda9.yaml
 
 
2) 환경 제거
conda deactivate
conda env list
 
conda remove  -n py36-tf1.11-cuda9.0  --all
 
conda env list
3) yaml 파일을 사용해서 환경 만들기
conda deactivate
conda env list
 
# -f == 사용할 file    /  -n ==name 만들어질 환경의 이름.
conda env create   -f ~/conda-py3-ten1.11-cuda9.yaml   -n NEW-py36-tf1.11-cuda9.0
 
conda env list
 
conda activate  NEW-py36-tf1.11-cuda9.0
 
which python
python --version
pip list | grep tensorflow-gpu
 
python  ~/TensorFlow-Examples/examples/3_NeuralNetworks/neural_network_raw.py
 
conda deactivate
 
6. 로그인시 anaconda 기본 환경 구성 (bashrc / rc = Run command)
~/.bashrc 파일에 conda activate <환경 이름> 를 추가 하면
로그인 할때마다 해당 환경이 기본으로 activate 됩니다.
 
## 홑화살괄호 를 반드시 2개 '>>' 넣어야 합니다. 1개만 넣으면 파일에 있던 기존 내용이 삭제되고 덮어씌워 집니다.
cat << EOF >>  ~/.bashrc
 
# conda ENV activate
conda deactivate
conda activate  NEW-py36-tf1.11-cuda9.0
 
EOF
 
cat ~/.bashrc
 
exit
 
# Re-login
 
conda env list
 
which python