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