728x90
반응형

리눅스 서버에 CUDA 세팅하기

 이전 포스트에서 CUDA 세팅에 필요한 CUDA와 cuDNN을 다운로드하였다. 이번 포스트에서는 CUDA를 설치해보도록 하겠다.

 

 

 

 

0. 다른 버전의 CUDA가 설치되어 있는지 확인하기

  • 현재 CUDA를 세팅하는 환경은 wsl2를 이용하여 만들어진 가상 환경이기 때문에 엔비디아 드라이버가 설치되어 CUDA가 꼬일 문제가 없지만, 윈도우 PC나 사용하려는 텐서플로우 버전과 기존 서버에 세팅된 CUDA 버전이 다른 경우, 기존 NVIDIA 파일과 CUDA를 제거해줘야 한다.
  • 현재 환경에 엔비디아 드라이버가 설치되어 있다면, 다음과 같은 방법으로 그래픽 드라이버 정보를 얻을 수 있다.
nvidia-smi
nvcc -V
  • CUDA가 설치되어 있다면, nvcc -V를 확인하면 된다.
  • 경우에 따라 nvcc -V에서 출력되는 쿠다와 nvidia-smi에서 출력되는 CUDA Version이 다른 경우가 있는데, 이는 CUDA가 꼬여 있는 것일 수 있기 때문에 이후에 Tensorflow 사용 시, 충돌이 일어날 수 있다. 때문에 CUDA 파일과 nvidia 관련 파일을 완전히 제거하여, CUDA를 맞춰주는 것이 좋다.
  • nvidia-smi 입력 시 출력되는 화면은 다음과 같다.

  • nvcc -V 입력 시 출력되는 화면은 다음과 같다.

  • 엔비디아 드라이버와 쿠다를 제거하는 방법은 다음과 같다.
# nvidia driver 삭제
sudo apt-get remove --purge '^nvidia-.*'

# CUDA 삭제
sudo apt-get --purge remove 'cuda*'
sudo apt-get autoremove --purge 'cuda*'

# CUDA 남은 파일 삭제
sudo rm -rf /usr/local/cuda
sudo rm -rf /usr/local/cuda-10.1
  • 엔비디아 드라이버와 쿠다 제거 후, 성공적으로 제거되었는지 확인하기 위해, nvidia-smi, nvcc -V와 같은 코드를 입력하여, 제대로 제거되었는지 확인하자.
  • 그러나, CUDA가 여러 개 깔려 있거나, 여러 개의 GPU 서버의 GPU가 연결 되어 있는 경우, 위 방법대로 제거하더라도, nvidia-smi나 nvcc -V가 다시 출력될 수 있다.

 

 

 

 

1. CUDA 설치하기

  • 이전 포스트에서 다운로드하였던 CUDA 파일을 실행하기 전에 권한을 부여하도록 하자.
  • 이전 포스트까지 Download 디렉터리에 받았던 파일들은 다음과 같다.

  • 위 사진에서 cuda_11.0.2_450.51.05_linux.run에 chmod를 사용하여, 777 권한을 부여하자.
chmod 777 cuda_11.0.2_450.51.05_linux.run
ll

  • 이제 cuda_11.0.2_450.51.05_linux.run을 실행하여 CUDA를 설치하도록 하자.
./cuda_11.0.2_450.51.05_linux.run

 

gcc 에러 발생

  • CUDA 설치 시, 다음과 같은 에러가 뜰 수도 있다.
  • Failed to verify gcc version. See log at /tmp/cuda-installer.log for details.
  • 관련 로그를 확인하기 위해 위 에러가 말해준 위치로 이동해보자.

  • 위 내용을 보니, gcc 가 없어서 발생한 문제임을 알 수 있다.
  • gcc를 설치하여, 위 문제를 해결해줘야 한다.
  • 위 문제가 뜬 경우 apt를 비롯한 가장 기본적인 세팅도 안되어 있는 것이므로, 가능한 위와 같은 상황에선 인터넷을 열어달라 하여, 위와 같은 기본적인 세팅은 해놓는 것을 추천한다.
  • 위 문제의 해결 방안은 다음과 같다.
sudo apt update
sudo apt install build-essential
sudo apt-get install manpages-dev
  • 위 코드는 sudo 권한이 반드시 필요하기 때문에 지금까지와 달리 꼭 sudo를 입력해주도록 하자.
  • 기본적으로 gcc는 7.5.0으로 설치되므로, 버전도 업그레이드하도록 하자.
sudo apt -y install gcc-8 g++-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8

 

CUDA 설치 재진행

  • 다시 CUDA 설치를 진행하도록 하겠다.
./cuda_11.0.2_450.51.05_linux.run

  • accept를 입력하여 진행하자

  • 위/아래 방향키로 이동, 왼쪽/오른쪽 방향키로 +가 있는 영역 세부 표시, 엔터 입력 시 X 체크 또는 해제를 실시할 수 있다.
  • 지금 같이 CUDA, cuDNN 관련 사항이 완전히 없는 경우, 모두 체크하여 설치를 진행하도록 하자.
  • Install을 눌러, 계속 진행해보자.

 

컴파일러 에러 발생

  • 이번에는 컴파일러 버전이 맞지 않아, 컴파일러 에러가 발생하였다.
sudo apt-get install build-essential

 

경로 문제

  • 위 명령어를 입력하여, 해당 오류 관련 패키지를 설치해주자.
  • 이번에는 다음과 같은 에러가 등장하였다.

  • 특정 디렉터리가 존재하지 않아 발생하는 에러로 보인다.
  • sudo 권한을 주어 설치하도록 하자.
sudo ./cuda_11.0.2_450.51.05_linux.run

  • 성공적으로 CUDA를 설치하였다.
  • Toolkit과 Cuda Samples가 설치된 위치를 볼 수 있으며, 이제 cuda를 사용하기 위해 PATH 설정을 하도록 하자.

 

CUDA PATH 설정

  • CUDA를 사용하기 위해선 전역 변수를 수정해줘야 한다.
  • 만약 우분투 사용자마다 다른 CUDA를 사용하고자 하는 경우, 사용자의 home 디렉터리의 .bachrc를 수정하면 된다.
cd
sudo vim /etc/bash.bashrc
  • cd를 입력하여 최초 경로로 돌아가자.
  • 위 명령어를 입력하여 출력된 화면의 맨 마지막에 위 CUDA 설치 후, 출력된 CUDA PATH를 다음과 같이 설정해주도록 하자.
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH

  • 위 입력된 사항을 esc > :wq 를 입력하여 저장하도록 하자.
  • PATH 지정 후, 위 사항을 터미널에 바로 적용해주도록 하자.
source /etc/bash.bashrc
  • nvcc -V를 입력하여 CUDA가 성공적으로 설치된 것을 확인하도록 하자.
nvcc -V

  • 성공적으로 CUDA가 설정된 것을 볼 수 있다.

 

 

 

 

2. cuDNN 설치

  • cuDNN 설치는 cuDNN 폴더의 압축해제 후, 그 안에 있는 파일들을 이전에 설치하였던 CUDA 파일의 안에 복사해서 옮겨줘야 한다.
  • 그러므로, 이전에 cuda를 설치하였던 경로를 먼저 보도록 하자.
whereis cuda

  • Download 디렉터리로 돌아가 이전에 다운로드하였던 cuDNN 파일의 압축을 풀도록 하자.
cd Download
ll
tar -xvf cudnn-11.0-linux-x64-v8.0.5.39.tgz

  • 압축 해제 후, 생성된 파일을 확인해보자
ll
cd cuda
ll

  • cuda 디렉터리 안에 있는 include, lib64 폴더의 하위 파일들을 이전에 설치하였던 cuda의 include와 lib64 폴더로 복사하면 된다.
  • 이전에 확인했던 cuda의 경로로 include의 하위 파일들 lib64 하위 파일들을 각각 해당하는 디렉터리로 이동시키자
sudo cp include/cudnn* /usr/local/cuda-11.0/include
sudo cp lib64/libcudnn* /usr/local/cuda-11.0/lib64/
sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
  • cuDNN 설치가 제대로 되었는지 확인해보자
cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

  • 위 내용을 보면 cudnn 8.0.5가 성공적으로 설치된 것을 볼 수 있다.
728x90
반응형
728x90
반응형

리눅스 서버에 CUDA 세팅하기

 이전 포스팅에서 우분투 서버에 주피터 노트북을 세팅하는 방법에 대해 알아보았다. 이번 포스트에서는 우분투 서버에 CUDA를 세팅하고, Tensorflow를 이용해 CUDA 세팅이 제대로 되었는지 확인하는 방법에 대해 알아보도록 하겠다.

 

 

 

 

1. Tensorflow가 GPU를 정상적으로 인식하고 있는지 확인

  • Tensorflow를 설치하였더라도, GPU를 사용하기 위해서는 사용하고자 하는 Tensorflow 버전에 맞는 CUDA와 Cudnn을 설치해야 한다.
  • Tensorflow가 현재 인지하고 있는 사용 가능한 CPU, GPU를 확인하는 방법은 다음과 같다.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()

  • 위 사진을 보면, JSON 형태로 CPU와 GPU가 출력된다. 만약 CPU와 GPU가 1개 이상인 경우 "/device:CPU:0", "/device:CPU:1", "/device:CPU:2",..., "/device:GPU:0", "/device:GPU:1", "/device:GPU:2", ...와 같은 식으로 N개의 해당하는 device와 기종 설명 등 간략한 정보가 출력되게 된다.
  • 해당 번호를 기반으로 Tensorflow 사용 시, 원하는 장비를 선택할 수 있다.

 

 

 

 

2. 필요한 CUDA와 cuDNN 버전 확인하기

  • CUDA와 cuDNN을 설치하기 전에 자신이 사용하려고 하는 Tensorflow 버전을 구체적으로 알아야한다.
  • 프로그래밍에 익숙하지 않은 사람이라면, 최신 라이브러리일수록 좋은 것이라고 단순하게 생각할 수 있는데, 최신 버전은 알려지지 않은 오류가 존재할 가능성이 높은 안정되지 않은 상태일 수 있기 때문에, 이러한 이슈를 알아보고 설치하는 것을 추천한다.
  • 이번 포스트에서는 tensorflow-2.4.0을 사용할 것이므로, 그에 해당하는 CUDA와 cuDNN을 설치하도록 하겠다.
  • Tensorflow 버전별 CUDA와 cuDNN 정보는 Tensorflow 공식 홈페이지를 보면 알 수 있다.
  • https://www.tensorflow.org/install/source
 

소스에서 빌드  |  TensorFlow

소스에서 TensorFlow pip 패키지를 빌드하고 Ubuntu Linux 및 macOS에 설치합니다. 명령어는 다른 시스템에도 적용될 수 있지만, Ubuntu 및 macOS용으로만 테스트되었으며 지원됩니다. 참고: 잘 테스트되고

www.tensorflow.org

  • 해당 사이트를 보면, tensorflow-2.4.0에 해당하는 GPU는 cuDNN 8.0, CUDA 11.0임을 알 수 있다.

 

 

 

 

3. CUDA 다운로드하기

  • CUDA와 cuDNN 다운 및 설치 방법은 이전 포스트 "텐서플로우(Tensorflow)와 tensorflow-gpu 설치방법"과 매우 유사하며, 이번에는 리눅스 버전으로 다운을 받아보도록 하자.
  • 자신이 원하는 버전에 해당하는 CUDA를 다운로드하기 위해선 아래 홈페이지로 이동하면 된다.
  • https://developer.nvidia.com/cuda-toolkit-archive
 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

  • 해당 웹사이트에서 CUDA Toolkit 11.0을 클릭하도록 하자.

  • 이번에 Tensorflow를 세팅하고자 하는 서버는 오프라인 우분투 18.04이므로, 다음과 같은 버튼을 클릭하여 설치 파일을 받도록 하자.

  • 위와 같이 누르는 경우, 우리에게 익숙한 파일 다운로드 버튼이 아닌 리눅스 환경에서 파일을 다운로드할 수 있는 명령어가 출력된다.

  • 위 명령어에서 첫 줄인 "wget ~"은 CUDA 설치 파일을 다운로드하는 것이며, 두 번째 줄은 해당 파일을 실행하는 것이다.
  • 인터넷이 되는 우분투 환경으로 이동하여, 이전에 만들어놨던 Download 디렉터리로 이동해서 해당 파일을 다운로드하도록 하자.
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

  • 다운 완료 후, 파일이 Download 디렉터리에 설치 파일이 존재하는 것을 확인하도록 하자.
ll

  • 성공적으로 CUDA 11.0 설치 파일이 다운된 것을 볼 수 있다.

 

 

 

 

4. cuDNN 다운로드하기

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

  • cuDNN을 보면, CUDA 버전에 맞는 것이 무엇인지 볼 수 있다.
  • cuDNN은 CUDA Deep Neural Network의 약자로, 딥러닝 관련 연산을 빠르게 해주는 라이브러리들이 모여있는 패치 파일이라고 생각하면 된다.
  • cuDNN 파일은 windows와 마찬가지로 CUDA 설치 후, 압축을 푼 cuDNN 파일을 설치된 CUDA 파일에 덮어 씌워주면 된다.
  • 설치하고자 하는 운영체제에 맞는 cuDNN을 다운로드하도록 하자. 우분투는 단순하게 Linux로 다운로드하여도 상관없다.
  • cuDNN은 CUDA와 달리 NVIDIA 홈페이지 로그인이 필요하므로, 해당 작업 진행 후, cuDNN을 받도록 하자.

  • 로그인 후, 해당 버튼을 누르면 "cudnn-11.0-linux-x64-v8.0.5.39.tar" 또는 뒤에 ".solitairetheme8" 라고 붙은 파일이 다운로드하여진다. 이 경우 윈도우 다운로드 파일에 받아지기 때문에 리눅스로 이동시키는 과정이 필요하다.
  • CUDA를 설치하고자 하는 리눅스 서버와 로컬 PC가 FTP가 뚫려 있는 경우 파일질라(FILEZILLA)와 같은 무료 FTP 클라이언트를 이용하는 것이 가장 직관적인 방법이며, USB를 이용하여 파일을 이동시킬 수도 있다.
  • 해당 포스트는 wsl2를 이용하여 해당 과정을 진행하므로, c드라이브에 "Linux_mv"라는 이름의 임의의 디렉터리를 생성하고, cuDNN 파일을 이동시켰다.
cd /mnt/c/Linux_mv
mv cudnn-11.0-linux-x64-v8.0.5.39.tgz /home/gooopy123/Download
cd
cd Download
ll

 

 

 

 

 이제 CUDA 설치를 위한 기본적인 준비가 되었다. 다음 포스트에서는 CUDA 설치를 진행해보도록 하겠다.

728x90
반응형
728x90
반응형

 

리눅스 서버에 가상 환경 활성화와 주피터 노트북 세팅

 지금까지 파이썬 기반 오프라인 분석 서버 구축을 위한 밑 작업을 해보았다. 이번 포스트에서는 오프라인 우분투 환경에 에 이전에 만들었던 가상 환경을 활성화시키고, 주피터 노트북을 세팅해보도록 하겠다.

 

 

 

 

0. 오프라인 우분투 환경 준비

  • 해당 포스트는 분석 환경 구축의 대상이 되는 서버가 오프라인, OS가 우분투이며, 우분투는 이미 설치되어 있다는 전제하에 진행하도록 하겠다.
  • 이를 실습하고 싶으나, 오프라인 우분투 서버가 존재하지 않다면, 가상 머신을 이용해 이와 유사한 환경을 만들어보겠다.
  • 가상 머신은 wsl2를 사용하며, 우분투 버전은 18.04이다.
  • wsl2 사용 방법은 이전 포스트인 "Python 리눅스 서버에 분석 환경 구축1 - 가상머신과 아나콘다 설치"를 참고하도록 하겠다.
  • 지금까지의 포스팅을 따라온 사람이라면, 기존에 설치하였던 우분투를 제거하고, 재설치하여 아나콘다가 깔려있지 않은 환경을 만들어주자.
  • 아래와 같이 아무것도 설치되지 않은 상태에서 진행하도록 하겠다.

 

 

 

 

 

1. 아나콘다 설치 및 가상 환경 활성화 준비

  • 이전 포스트에서 외부로 옮겨놓았던, 리눅스 아나콘다 설치 파일과 가상 환경 압축 파일을 리눅스 서버로 옮기자.
  • 옮기는 방법은 USB를 이용하거나, 파일질라(FileZilla) 등을 이용해서 이동시키도록 하자.
  • 이동시키는 가장 쉬운 방법은, Local PC와 리눅스 서버가 sftp 포트(22)가 뚫려 있다는 상태에서, 파일질라를 사용하는 것이다.
  • 해당 포스트는 위 과정이 해결되어 있다는 전제하에 진행하도록 하겠다.
  • 추후 필요에 따라 위 과정을 다뤄보도록 하겠다.
# Download 디렉토리 생성
mkdir Download
  • Donwload 디렉토리를 만들고, 이전에 준비한 파일들을 모두 이동시키자.
  • 이번 포스트는 wsl2 환경에서 진행하므로, 상황이 약간씩 다르지만, 전체적인 흐름은 동일하다.
# wsl2 환경에서 가상 환경 압축 파일과 아나콘다 설치 파일 이동
cd /mnt/c/Anal_Env_Set
mv ./Anaconda3-2020.11-Linux-x86_64.sh /home/gooopy123/Download
mv ./New_Env.tar /home/gooopy123/Download
# Download 디렉토리에 파일이 정상적으로 이동되었는지 확인
cd
cd Download
ll

 

1.1. 아나콘다 설치

 

1.2. 가상 환경 이동 및 압축 풀기

  • 아나콘다가 설치 완료되었다는 전제하에, 이전 포스트에서 만들었던 가상 환경 압축 파일을 아나콘다 디렉토리로 이동시켜보자.
# 가상 환경 압축파일 이동
mv New_Env.tar /home/gooopy123/anaconda3/envs
cd /home/gooopy123/anaconda3/envs
ll

  • 이동된 New_Env.tar 파일의 압축을 풀어보도록 하자.
# 가상 환경 압축 파일 압축 해제
tar -xvf New_Env.tar
  • tar -xvf 압축파일.tar: "압축파일.tar"의 압축을 푼다.
  • 가상 환경 압축을 해제 후, 해당 압축 파일을 인식하는지 확인해보자.
# 가상 환경 목록 확인
conda env list

  • 위와 같이 성공적으로 이전에 만들었던 가상 환경이 생성된 것을 확인할 수 있다.
  • 가상 환경의 압축파일은 용량만 차지하므로, 이제 삭제하도록 하자.
# 가상 환경 압축 파일 제거
rm New_Env.tar

 

 

 

 

 

2. 주피터 노트북 설정

  • 가상 환경을 활성화하기 전에 반드시 해줘야 하는 것이 Base 환경에서 주피터 노트북을 설치하고, 설정하는 것이다.
  • 주피터 노트북 설치는 반드시 Base 환경에서 해주어야 한다.
  • Base 환경에서 주피터 노트북 설치는 pip install 사용 시, 오프라인에서도 진행 가능하다.
# 주피터 노트북 설치
pip install jupyter notebook

# 주피터 노트북 설정 파일 생성
jupyter-notebook --generate-config
  • 주피터 노트북 설치 후, 주피터 노트북 설정 파일을 생성하도록 하자.

  • 위 과정 진행 시, 위와 같이 .jupyter/ 디렉토리가 생성된 것을 확인할 수 있다.

 

2.1. 주피터 노트북 비밀번호 생성

  • 주피터 노트북 설정을 손대기 전에 주피터 노트북에서 사용할, 암호화된 비밀번호를 생성하기 위해 ipython을 실행하자.
# ipython 실행
ipython

  • 주피터 노트북 설치 시, ipython이 같이 설치되는데, ipython은 주피터 노트북의 셀과 동일한 기능을 수행한다.
# 암호화된 비밀 번호 생성
from notebook.auth import security
security.passwd()

  • 위와 같이 비밀 번호를 생성하면, 암호화된 비밀번호를 출력하는데, 이를 반드시 어딘가에 복사해놓도록 하자.
# ipython 빠져나오기
exit()
  • exit()를 입력하여 ipython에서 터미널로 빠져나오자.

 

2.2. 주피터 노트북 워킹 디렉토리 생성

  • 주피터 노트북을 설정하기 앞서, 주피터 노트북의 워킹 디렉토리를 미리 만들어놓자.
mkdir Analysis
cd Analysis

# 현 주소 확인
pwd

  • 주피터 노트북의 워킹 디렉토리로 사용할 디렉토리의 주소도 복사해놓도록 하자.

 

2.3. 주피터 노트북 설정

  • 아까 생성하였던, 주피터 노트북 설정 파일이 있는 경로로 이동하고, 설정 파일을 실행해보자.
# 경로 이동
cd ~/.jupyter

# 주피터 노트북 설정 파일 실행
vi jupyter_notebook_config.py

  • 위 코드 실행 시, 위와 같은 파란색 글로 가득 찬 화면이 뜨게 된다.
  • 여기서 특정 명령어를 입력하면, 주피터 노트북에 해당 기능이 반영된다.
  • 설정할 수 있는 유용한 몇 가지 기능을 소개하면 다음과 같다.
# 필수
c = get_config()
c.JupyterApp.config_file_name = 'jupyter_notebook_config.py'

# 접속 허용 ip
c.NotebookApp.allow_origin = '*' # 접속 허용 ip로 *는 전체 허용을 의미한다.

# 서버 ip
c.NotebookApp.ip = 'xxx.xx.xxx.xxx'

# 주피터 노트북 실행 시, 브라우저로 열지(True), url을 출력할지 정한다(False).
c.NotebookApp.open_browser = False

# 주피터 노트북 비밀번호
c.NotebookApp.password = u'아까 복사해놓은 암호화된 비밀번호를 넣어주자'

# 주피터 노트북 포트 설정
c.NotebookApp.port = 8888

# 주피터 노트북 홈 디렉토리 설정
c.NotebookApp.notebook_dir = '아까 복사해놓은 홈 디렉토리 주소를 넣어주자'
  • 위 코드 중 필요한 부분을 선택하여, 넣어주도록 하자.
  • 위 코드를 보기 쉽도록 위 파란 화면 최상단에 넣어주도록 하자.
  • 위 상태에서 i를 누르면 INSERT 모드로 바뀌며, 수정 가능해진다.

  • 필요한 코드를 전부 입력한 후, esc를 누르고, shift + ; 키를 누르면, 위 화면에서 빠져나올 수 있는 키를 입력할 수 있게 된다.
  • q를 입력 후 enter를 치면 현 상태를 저장하지 않고 그냥 빠져나오며, wq를 입력 후 enter를 치면 현 상태를 저장하고 빠져나온다.

 

2.4. 주피터 노트북 실행

  • 위 과정까지 마친 후, 터미널에 jupyter notebook을 입력하면, jupyter notebook으로 이동할 수 있는 url이 나온다.
  • 위 방법을 통해, 특정 url과 port를 설정하면, 해당 주소를 즐겨찾기 설정하여, 쉽게 이동할 수 있다.
# 주피터 노트북 실행
jupyter notebook

  • 해당 포스트는 서버가 아닌, Local PC에 분석 환경을 구축하였기 때문에, IP주소를 따로 입력하지 않아도 괜찮다.
    (위 화면이 뜨지 않는다면, 무언가 오타를 내지 않았는지 꼭 확인해보자)
  • 출력된 위 http:localhost:8892/를 복사하여, 크롬에 붙여 넣어 보자.
  • 그러면, 우리에게 익숙한 주피터 노트북 화면이 출력된다.

  • 아까 만들었던 비밀 번호를 입력하고 이동해보자

  • 이제 우리에게 익숙한 주피터 노트북을 우분투 환경에서 사용할 수 있다.

 

 

 

 

 

3. 가상 환경 주피터 노트북에 연결하기

  • 아까 실행했던 주피터 노트북을 종료해보자
  • 주피터 노트북 종료는 브라우저의 우측 상단에서 Quit를 클릭하거나, 터미널에서 ctrl+z를 입력하여 중지시키면 된다.
  • ctrl+z는 리눅스에서 특정 기능이 수행 중일 때, 사용하면 그 기능을 중지시킬 수 있다.
  • 윈도우에서는 가상 환경 생성 시, 해당하는 주피터 노트북 실행 파일과 커널이 따로 생성되므로, 실행하기 쉬웠으나, 우분투에서는 가상 환경 커널을 추가하여 가상 환경을 사용한다.
  • 먼저 사용할 가상 머신을 활성화 하자.
# 가상 환경 활성화
conda activate New_Env

# 가상 환경 커널 추가
python -m ipykernel install --user --name=New_Env --display-name="New_E_Kernel"

# base로 환경 변경
conda activate base

# 주피터 노트북 실행
jupyter notebook
  • --user --name 뒤에는 연결하고자 하는 가상 환경의 이름을 넣으면 된다.
  • --display-name 뒤에는 주피터 노트북에서 출력하고 싶은 커널 이름을 넣어주면 된다.

  • 다시 주피터 노트북을 실행하고, 방금 만들었던 New_E_Kernel 커널로 파이썬 쉘을 만들어보자.

  • 주피터 노트북을 실행하여 New를 클릭해보면 New_E_Kernel라는 추가한 커널이 생긴 것을 볼 수 있다.
  • 파이썬 파일을 만들어보자.

  • Kernel의 Change kernel에 New_E_Kernel이 추가된 것도 볼 수 있다.
  • 이를 이용해서 커널도 얼마든지 바꿀 수 있다.
  • 적용되어 있는 커널은 우측 상단에서 확인할 수 있다.

  • 커널 변경 시, 아나콘다에서 기본적으로 제공하지 않는 패키지인 tensorflow가 성공적으로 가동되는 것을 볼 수 있다.

 

3.1. 가상 환경 커널 제거

  • 추가로 생성된 가상 환경 커널을 삭제하고 싶다면 다음과 같이 하면 된다.
# 적용되어 있는 가상환경 커널 목록을 확인한다.
jupyter kernelspec list

# 적용되어 있는 가상환경 커널의 적용을 해제한다.
jupyter kernelspec uninstall 가상환경이름

# 가상환경 삭제
conda env remove -n 가상환경이름
  • 가상 환경 커널 추가 시, 표시되는 커널의 이름과 가상 환경의 이름이 일치하지 않을 수 있으므로, kernelspec list를 확인하는 것이 좋다
  • 커널을 제거하지 않더라도 가상 환경은 삭제 가능하다.

 

 

 

 지금까지 우분투 환경에서 주피터 노트북을 사용하는 방법에 대해 알아보았다. 지금 상태에서도 데이터 분석을 진행할 수는 있으나, 현재 GPU 설정을 하지는 않은 상태기 때문에, CPU만 사용해서 분석을 진행할 수 있다.

 다음 포스트에서는 우분투 환경에 CUDA를 세팅하는 방법에 대해 알아보도록 하자.

728x90
반응형
728x90
반응형

리눅스 서버에 가상 환경 만들기

 이전 포스트에서 가상 머신을 통해 리눅스 서버를 만들고, 아나콘다를 설치해보았다. 이번 포스트에서는 아나콘다를 이용해 가상 환경을 만들고, 이를 압축하여, 외부로 내보내는 과정을 학습해보도록 하겠다.

 

 

 

 

1. 아나콘다 가상환경

  • 지난 포스트까지 진행했다면, 아래와 같은 경로에 위치해 있을 것이다.
    (지난 포스트와 PC의 이름이 다른 이유는, 다른 PC로 동일한 환경을 구축해서 진행한 것이기 때문으로, 신경 쓰지 않아도 된다)

 

1.1. 가상 환경을 생성해보자.

conda create -n New_Env python=3.8

  • conda create -n 가상 환경_이름 python=원하는_파이썬_버전: "원하는_파이썬_버전"으로 새로운 가상 환경을 만든다. 생성되는 가상환경 이름은 "가상환경_이름"이다.
  • 가상 환경 생성은 온라인 환경에서만 가능하므로, 반드시 인터넷이 가능한 PC에서 실시하도록 하자.

 

1.2. 존재하는 가상 환경 리스트를 확인해보고, 방금 생성한 가상환경을 활성화시켜보자.

conda env list
conda activate New_Env

  • conda env list: 아나콘다에 존재하는 가상환경 리스트를 출력한다.
  • conda activate 가상환경이름: "가상환경이름"을 활성화한다.

 

1.3. 필요한 패키지를 설치한다.

  • "pip install 패키지==버전"이나 "conda install 패키지==버전"을 입력하여, 필요한 패키지를 설치하자.
    (가상 환경에 설치하므로, 둘 중 아무거나 사용해도 된다.)
  • tensorflow 2.4.0 버전, tensorflow-gpu 2.4.0 버전, pytorch 1.8.1 버전, simplejson을 설치해보자.
pip install tensorflow==2.4.0
pip install tensorflow-gpu==2.4.0
pip install torch==1.8.1
pip install simplejson
pip install jupyter notebook
  • 텐서플로우나 파이토치는 cuda, cudnn 버전이 맞아야 하기 때문에 자신이 사용할 텐서플로우 버전을 확실히 해야 한다.
  • 밖으로 내보낼 가상환경에는 반드시 jupyter notebook을 설치해주자. 주피터 노트북을 다운받으면, ipython, ipykernel과 같은 주피터 노트북 사용에 관련된 주요 라이브러리가 자동으로 다운 받아진다.

 

1.4. 설치한 패키지가 정상적으로 설치되었는지, 패키지 리스트를 확인해보자.

conda list

  • 위에서 출력된 결과를 보면, 방금 설치하였던 패키지들이 모두 정상적으로 설치된 것을 볼 수 있다.
  • 혹시 필요한 패키지가 더 있다면, 위 과정을 추가로 진행하기 바란다.

 

 

 

 

 

2. 가상 환경 밖으로 내보내기

  • "conda env export > 가상환경이름.yaml"을 사용하면, 가상 환경의 형태를 내보낼 수 있으나, 이는 구조만 내보내는 것이기 때문에, 인터넷이 안 되는 서버에서는 사용할 수가 없다.
  • 그러나, 생성한 가상 환경을 그대로 압축하여, 외부로 내보내면 오프라인 환경에서도 가상환경을 그대로 사용할 수 있다.

 

2.1. 생성한 가상환경 압축하기

  • 생성된 가상 환경은 설치한 anaconda3 디렉터리의 envs 디렉터리에 위치해 있다.
cd ./anaconda3/envs/
ll

  • 방금 생성하였던 New_Env를 압축해보자.
tar -cvf New_Env.tar New_Env
  • tar -cvf 압축후_폴더명.tar 압축할_폴더명: "압축할_폴더명" 디렉토리를 "압축후_폴더명.tar"로 압축한다.
  • 압축된 경로를 확인해보자.

 

2.2. 압축된 가상환경 내보내기

  • 압축된 가상 환경을 윈도우 환경의 c드라이브로 내보내자.
  • c드라이브에 Anal_Env_Set 디렉토리를 미리 생성하고, 이 곳으로 압축 파일을 이동시키자.
  • wsl2에서 c드라이브, d드라이브와 같은 윈도우 디렉토리로 이동하려면 /mnt 경로로 이동하면 된다.
mv New_Env.tar /mnt/c/Anal_Env_Set

  • 확인해보니, 압축했던 파일이 사라진 것을 볼 수 있다.
  • 파일을 이동시키기로 한 위치로 가서 파일이 이동한 것을 확인해보자.
cd /mnt/c/Anal_Env_Set
ll

  • 이동시키려는 디렉토리로 압축 파일이 이동한 것을 볼 수 있다.

 

2.3. 아나콘다 설치 파일도 밖으로 이동시키자.

  • 분석 서버는 가상 머신의 환경과 동일하므로, 이전 포스트에서 설치하였던, 아나콘다 설치 파일도 밖으로 내보내도록 하자.
cd
cd Download
ll

mv Anaconda3-2020.11-Linux-x86_64.sh /mnt/c/Anal_Env_Set

 

2.4. 이동된 파일들을 확인해보자.

  • 윈도우에서 이동시킨 파일들이 이동된 것을 확인해보자.

 

 

 

 

  지금까지 아나콘다를 이용하여, 가상 환경을 만들고 필요한 패키지들을 설치해보았다. 만약, 다른 라이브러리가 더 필요하다면, 필요한 라이브러리를 더 추가하여 다시 내보내면 된다.

 다음 포스트에서는 새로운 오프라인 서버 환경을 대상으로 분석 환경 구축을 실시해보자.

728x90
반응형
728x90
반응형

리눅스 서버에 분석 환경 구축

분석을 하기 위해선 분석을 할 수 있는 환경을 만드는 것이 가장 중요하다. 아무리 수많은 분석 기법들을 알고 있더라도, 스스로 분석 환경을 구축하지 못한다면 아무것도 진행할 수 없기 때문이다.

 이전 포스트까지는 일반적으로 사용자가 사용하는 컴퓨터(Local)에 분석 환경을 구축하는 것에 대해 알아보았다. 그러나, 대용량 데이터를 다루는 현장에서는 Local PC로 데이터 분석을 진행하는 것엔 한계가 있기 때문에 분석용 서버에서 분석을 진행하게 된다.

 그러나, 대부분의 서버는 보안을 위해 오프라인으로 구축되어 있으며, 우리에게 익숙한 OS인 Windows가 아닌 Ububtu, CentOS와 같은 Linux로 설치되어 있으며, 쓸모없는 자원 낭비를 막기 위해 CLI레벨로 구성되어 있어, 실행 시 그냥 검은 화면만 나온다(우리에게 익숙한 윈도우 화면은 GUI레벨이다).

 일반적으로 서버의 환경 설정은 도커(Docker)를 이용하여 구축하지만, 단순히 파이썬(Python) 기반의 분석 환경을 구축하고자 한다면, 앞서 학습했던 아나콘다 가상 환경(Virtual Environment)만 사용해도 충분하다.

 이번 포스트에서는 오프라인 우분투(Ubuntu) 서버에 딥러닝 분석 환경을 구축하는 과정을 학습해보도록 하겠다.

 

 

 

 

 

1. 준비물과 진행 과정

 오프라인 서버 분석 환경 구축과 연습에는 인터넷이 되는 Local PC 하나만 있으면 충분하다. 분석 서버를 단순하게 설명해보면, "성능이 엄청나게 좋지만 인터넷이 안 되는 리눅스 OS가 설치된 컴퓨터"라고 할 수 있다.

 앞으로 우리가 진행할 과정을 간단하게 요약해보면 다음과 같다.

  1. 인터넷이 되는 윈도우 컴퓨터에 분석 서버와 동일한 리눅스 배포 버전 가상 머신 설치
    (이번 포스트에서는 Ubuntu 18.04를 대상으로 하겠다.)
  2. 가상 머신에 아나콘다를 설치
  3. 가상 환경 생성 후, 필요한 패키지 모두 설치 및 이를 압축하여 외부로 내보내기
  4. 사용하고자 하는 텐서플로우(파이토치) 버전에 맞는 Cuda, Cudnn 다운로드
  5. 압축된 가상환경, 아나콘다 설치 파일, Cuda, Cudnn을 인터넷이 안되는 리눅스 서버에 이동시키기
    (가상 머신을 새로 만들고, 인터넷 선을 뽑은 후 진행하면, 오프라인 우분투 서버가 된다.)
  6. 이동된 파일 모두 설치

 꽤 복잡해 보이지만, 익숙하지 않아서 그렇지, 앞서 다뤄봤던 윈도우 환경에서 분석 환경 설정하는 방법과 동일하다.

 

 

 

 

 

2. 가상 머신(우분투) 설치하기 - wsl2

 가상 머신을 설치하는 방법을 두 가지 소개해보자면, 다음과 같다.

  1. Virtual Machine 프로그램을 사용하여, 가상 머신 만들기
  2. wsl2를 사용하여, 가상 머신 만들기

 Virtual Machine 프로그램을 사용하면, 내 컴퓨터에 작은 컴퓨터를 만드는 것처럼 진행할 수 있지만, 과정이 꽤 복잡하고, 자원을 분리해서 사용하며, 가상 머신 종료 등의 과정이 꽤 번거롭기 때문에, 이번 포스트에서는 마이크로 소프트의 wsl2를 사용해서 가상 머신을 만들어보도록 하겠다.

 

2.1. wsl2(Windows Subsystem for Linux 2)

  • wsl2는 Linux용 Windows 하위 시스템의 약자로, Virtual Machine보다 쉽게 가상 머신을 만들 수 있다.
  • 자원도 따로 나눌 필요가 없으며, 머신 종료 등의 번거로운 과정이 매우 간단한다.
  • 윈도우에서 도커(Docker)나 리눅스 개발을 할 수 있다.

 

2.2. wsl2 설치 및 주의 사항

  • wsl2 설치는 마이크로 소프트 공식 홈페이지에서 아주 쉽게 설명해주고 있으므로, 기본적으로 해당 웹사이트를 참고하기 바란다.
  • wsl2는 다음과 같은 주의 사항을 반드시 따라야만 사용할 수 있다.
  1. 윈도우10 업데이트가 최신 버전일 것: 윈도우 업데이트 확인은 "시작 버튼의 설정 > 업데이트 및 보안"을 통해 확인할 수 있다. "업데이트 확인"을 해본 후, 윈도우 업데이트를 실시하고, 만약 wsl2가 정상적으로 설치되지 않는다면, 컴퓨터를 재부팅하여 업데이트를 마무리해주길 바란다.
  2. CPU가 너무 구형이 아닐 것: Hyper-V를 구동시켜야만, wsl2와 같은 가상 머신을 사용할 수 있다. 2010년대 이전 CPU는 Hyper-V를 지원하지 않는 경우가 꽤 많으므로, 주의하길 바란다.
  3. 가상화 설정: "작업 관리자 > 성능"으로 들어가서 CPU의 가상화가 "사용"으로 되어 있는지 확인한다. 만약 사용이 안되어 있는 경우, BIOS에 들어가서 가상화를 설정해주어야 한다(메인보드 제조사마다 방식이 다르므로, 자신의 메인보드에 맞는 방법을 찾도록 하자).

  • 설명에서 헷갈릴 수 있는 부분은 "PowerShell의 관리자 권한 실행"이라 생각되는데, 시작 옆의 검색 기능을 이용하면 쉽게 할 수 있다.

  • 이번 학습에서 Linux는 Ubuntu 18.04를 사용할 것이지만, 자신이 다루고자 하는 서버의 리눅스 환경이 다른 경우, 자신에게 맞는 것을 설치하면 된다(명령어는 크게 다르지 않으며, 명령어가 다르더라도 과정은 동일하다)
  • 윈도우 터미널(Windows Terminal)을 마이크로소프트 스토어(Microsoft store)에서 설치하면, 보다 쉽게 wsl2의 기능을 사용할 수 있지만, 이번 포스트에서는 서버 환경과 동일한 상황에서 보기 위해 설치한 Ubuntu에서 진행해보겠다.

 

2.3. wsl2 설치 완료 후, 우분투 구동

  • 우분투 설치 후, 설치된 파일을 실행해주자
  • 실행 후, ID와 Password는 자신이 원하는 것으로 아무거나 입력해주면 된다.
  • 그 후, 아래와 같은 화면으로 이동해주자.

 

 

 

 

 

3. 아나콘다 설치하기

  • 설치된 가상 환경에 어떤 파일이 있는지 확인해보자.
ll

  • ll: 현 디렉토리에 있는 파일들을 모두 보여주며, 해당 파일의 권한 등을 색으로 표현해준다.
    (만약, 위와 같은 화면이 나오지 않는다면, cd를 입력하고 enter를 쳐서, 기본 디렉토리로 이동해주자)

 

3.1. Download 디렉토리 생성

  • Download 디렉토리를 생성하여, 앞으로 다운로드할 파일들이 저장될 공간을 분리해주자.
    (필수는 아니지만 디렉토리 정리가 잘될수록 관리가 쉬워지므로, 가능하면 꼭 해주도록 하자.)
mkdir Download
ll

  • mkdir 디렉토리_이름: "디렉토리_이름"을 현 디렉토리에 생성한다.

 

3.2. 아나콘다 설치 파일을 Download 디렉토리에 설치하자

  • 아나콘다를 설치하는 방법은 이전에 다뤘던 "python 파이썬과 아나콘다" 포스트와 거의 유사하다.
  • 해당 포스트를 참고하여 아래 화면으로 이동해보자.
    (아나콘다 버전에 따라 UI가 조금씩 달라질 수 있지만, 기본적인 방법은 같다)

  • Ubuntu는 Linux의 버전 중 하나이므로, Linux installer를 누르면 된다.
  • Tensorflow를 사용할 것이므로 64Bit를 다운로드 받아야한다.
  • "마우스 오른쪽 클릭 > 위 빨간 박스를 클릭"하여, 다운로드 받을 파일의 링크 주소를 복사하자.
cd Download
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
ll
  • 리눅스 화면에서 복사는, 복사하고 싶은 구간 드래그이며, 붙여 넣기는 커서에 마우스 오른쪽 클릭을 하면 된다.

  • wget 링크_주소: 인터넷에서 "링크_주소"에 해당하는 파일을 다운로드한다.

 

3.3. 아나콘다 설치 파일 권한 부여 및 실행

  • 설치된 아나콘다 설치 파일의 색을 보면, 흰색으로 되어 있는 것을 볼 수 있다.
  • 해당 파일을 실행하기 위해 권한을 부여해보도록 하자.
chmod 755 Anaconda3-2020.11-Linux-x86_64.sh
ll

  • 권한이 부여되어 파일의 색이 녹색으로 바뀐 것을 볼 수 있다.
  • 해당 파일을 실행해보자.
./Anaconda3-2020.11-Linux-x86_64.sh

  • Enter를 눌러, 쭉 진행해보자.

  • 뭔가 엄청나게 많은 글이 뜨는데, 아나콘다 설치에 대한 약관이므로, 계속 엔터를 눌러 약관을 끝까지 내려주자.

  • yes를 입력하여 설치를 진행해주자.

  • Enter를 눌러서 아래 경로에 아나콘다를 설치해주자

  • yes를 입력해서, conda init 명령어로 Anaconda를 초기화 해주자.

 

3.4. 아나콘다 PATH 설정

  • 위 과정까지 진행했다면, linux를 종료했다가 다시 키거나, bashrc를 실행하여 PATH를 설정해줘야 한다.
source ~/.bashrc

  • 위 코드를 진행하면, 맨 왼쪽의 녹색 이름 옆에 (base)라는 글이 붙은 것을 볼 수 있다.
  • 이는, 아나콘다 쉘이 실행된 것으로, 성공적으로 아나콘다가 설치 및 실행된 것을 볼 수 있다.
  • 초기 화면으로 빠져나와, 설치된 아나콘다를 확인해보자.
cd
ll

  • 위 사진을 보면, 성공적으로 anaconda3가 설치된 것을 볼 수 있다.

 

 

 

 지금까지 윈도우에 리눅스 기반 가상머신을 설치하고, 해당 가상머신에 아나콘다를 설치해보았다. 위 과정은 아나콘다 설치 파일을 다운로드하는 과정까지만 인터넷이 필요하며, 이후의 과정에서는 오프라인으로 진행해도 된다.

 즉, 위 과정은 이후 분석 서버에 환경을 구축할 때도 다시 한번 진행되는 내용이다.

 다음 포스트에서는 아나콘다 가상 환경을 만들고, 이를 압축하여, 외부로 내보내는 방법에 대해 알아보도록 하겠다.

728x90
반응형
728x90
반응형

지난 포스트에서 기계학습(Machine Learning)에 대해 간략하게 알아보았다.
이번 포스트에선 기계학습을 수월하게 할 수 있게 해주는 텐서플로우(Tensorflow)에 대해 알아보도록 하자.

 

 

텐서플로우(Tensorflow)란?

  • 텐서플로우는 구글에서 2015년에 공개한 기계학습 라이브러리로, 일반인들도 기계학습을 사용할 수 있을정도로 난이도가 낮고, 아주 강력한 성능을 가지고 있다.
  • 단, 텐서플로우는 딥러닝 알고리즘인 인공신경망이 한 번 학습되기 시작하면 신경망의 구조가 고정되어버리기 때문에 특정 프로젝트에 최적화하여 사용하는데 한계가 있다.
  • 최적화까지 감안하여 기계학습을 하기 위해선, 신경망의 구조까지 스스로 학습하며 변하는 페이스북 인공지능팀에서 개발한 파이토치(PyTorch)를 사용해야한다(텐서플로우와 파이토치의 성능차이는 상당히 큰 편이다).
    • 텐서플로우는 참고 자료가 더 많고, 사용자가 파이토치보다 텐서플로우가 많은 편이므로, 텐서플로우를 먼저 학습하고, 그 후에 파이토치를 학습할 예정이다.
  • GPU, CPU 2가지 버전이 존재하며, GPU는 tensorflow-gpu라는 패키지를 따로 다운로드 받아야한다.
    • GPU는 NVIDIA의 CUDA를 사용하므로, NVIDIA 그래픽 카드가 필수이다.
  • 본 포스트에서는 텐서플로우 Version 2.0.0으로 학습할 예정이다.
  • 텐서플로우2는 Keras를 기반으로 작동한다.

 

※ CPU와 GPU를 왜 구분해서 사용하는 것일까???

  • CPU와 GPU의 차이를 간단하게 설명하자면 다음과 같다.
  • CPU는 아~~~주 머리가 좋은 친구로, 전교 10등 안에 들어가는 수학 천재인 친구다. 수능에서 4점짜리 문제들도 쉽게 풀정도로 어려운 수학 문제도 큰 힘을 들이지 않고 풀 수 있는 친구지만, 당연히 숫자가 적고, 한 번에 할 수 있는 일이 많지가 않다.
  • GPU는 기본적인 수학 능력을 갖춘 평범한 친구들이다. 수능에서 2점짜리 문제 같이 간단한 수학 문제라면 손 쉽게 풀 수 있지만, 어려운 수학 문제를 푸는데는 한 세월이 걸린다. 숫자가 1,000명 정도로 엄청나게 많다.
  • 자, 이를 더 간추려 말해보면 CPU는 머리가 좋지만 숫자가 적고, GPU는 머리는 평범하지만 숫자가 많은 친구들이다.
  • Python이나 R은 기본적으로 CPU 연산을 하며, CPU 연산을 하다보니 아무리 어려운 문제라 할지라도 크게 힘들이지 않고 풀 수 있지만, 머신러닝에서는 이야기가 달라진다. 딥러닝에서 사용되는 가장 대표적인 알고리즘인 인공신경망은 기본적으로 행렬 연산을 통해 계산되는데, 이러한 행렬 연산은 더하기, 빼기, 곱하기, 나누기와 같은 기본적인 사칙연산을 수십 만번 실시한다고 생각하면 된다.
  • 자, 사칙연산 수십 만번을 머리가 엄청 좋은 한 명에게 시키는 것과 평범하지만 사칙연산은 충분히 해내는 천 명에게 시키는 것, 이 둘 중 무엇이 더 효율적일까?? 당연히 사칙연산을 충분히 해낼 수 있는 천 명에게 문제를 주는 것이 훨씬 빠르지 않겠는가.
  • 이처럼 기계학습의 특징은 어려운 연산도 물론 있지만, 이 어려운 연산은 CPU에게 맡기면 되고, 쉬운 연산은 GPU에게 맡기는 방식을 사용한다. 즉, 컴퓨터의 자원을 이분화시켜 사용하는 것이 기계학습의 특징이다.

 

 

 

텐서플로우(cpu) 설치 방법

  • 텐서플로우만 설치하는 것은 난이도가 상당히 낮은 편이다.
  • 텐서플로우는 버전 2.0.0을 설치할 것이다.
    1. PyCharm의 UI를 이용해서 설치하기
      File > Settings > +버튼 >  tensorflow 검색 및 선택 > Specify version 체크 > 드롭박스에서 버전 2.0.0으로 선택 > Install Package 클릭
    2. 터미널에서 설치하기(아나콘다 가상환경을 만든 경우 *추천)
      cmd 실행 > conda env list(가상환경 목록 확인) > conda activate 가상환경이름 > pip install tensorflow==2.0.0

 

 

 

텐서플로우-gpu 설치 방법

  • tensorflow-gpu 설치를 위해서는 몇 가지 사전 작업이 필요하다.
    1. NVIDIA 그래픽 카드
    2. CUDA Toolkit 10.0 Version 설치
    3. cuDNN 설치
    4. PATH 설정
  • tensorflow-gpu는 gpu를 이용해서 연산하므로, 컴퓨터 환경에 gpu 셋팅을 해줘야한다.
  • NVIDIA 그래픽 카드가 설치되어있다는 전재하에 설치 해보도록 하겠다.
  • CUDA Toolkit의 버전은 11까지 나왔지만, 아직 호환성에 문제가 있는지 제대로 설치가 되지 않는다. 또한, 우리는 텐서플로우 버전 2.0으로 작업할 예정이므로, 이에 맞는 CUDA Toolkit Version 10.0을 사용해보도록 하자.
  • 설치 환경은 Windows이다.

 

 

1. CUDA Toolkit을 설치해보자.

CUDA Toolkit 10.0 버전 싸이트로 들어가자

 

CUDA Toolkit 10.0 Archive

Select Target Platform Click on the green buttons that describe your target platform. Only supported platforms will be shown. Operating System Architecture Distribution Version Installer Type Do you want to cross-compile? Yes No Select Host Platform Click

developer.nvidia.com

 

내 환경에 맞는 버전으로 다운로드 받자

  • Windows 환경에서 사용할 예정이다.
  • Windows는 10을 사용하고 있다.
  • 오프라인 환경에서도 사용할 수 있도록 Local로 다운로드 받겠다.
    (인터넷이 되는 환경이라면, 시간이 오래걸리므로 exe(network)로 다운로드 받도록 하자.)

 

이제 설치를 해보자.

  • CUDA  설치는 크게 어렵지 않다.
  • 따로 경로나 설정에서 손을 볼 것은 없으므로, 그냥 쭉 진행하면 된다.

 

 

 

2. cuDNN을 설치해보자.

 

 

NVIDIA cuDNN

NVIDIA cuDNN The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, norma

developer.nvidia.com

  1. Download cuDNN을 클릭한다.
  2. cuDNN은 로그인을 해야만 설치 가능하므로, 아이디가 없다면, 아이디를 만들고 로그인하도록 하자.

 

 

CUDA와 내 환경에 맞는 버전으로 설치하자.

  • CUDA v10.0으로 설치하였으므로, cuDNN은 v7.6.5.로 다운로드 받겠다.
  • Windows 10 환경으로 설치하겠다.

 

 

  • cuDNN을 CUDA가 설치된 위치에 덮어씌우도록 하자.
    • 만약  CUDA를 설치할 때, 따로 경로를 손대지 않았다면 아래 경로에 덮어 씌우면 된다.
    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    • 위 경로에 cuDNN 압축파일을 해제하여 나온 파일들을 덮어씌우자.

 

 

 

3. PATH를 설정해주자.

  • cmd에 들어가자.
  • 아래와 같게 타이핑 해주자
    • SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;%PATH%
    • SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;%PATH%
    • SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include;%PATH%
    • SET PATH=C:\tools\cuda\bin;%PATH%

 

 

 

위까지 작업을 마치면, tensorflow-gpu를 설치할 환경이 완료된 것이다. 만약 위 셋팅을 마쳤음에도 tensorflow-gpu가 설치되지 않는다면, Visual Studio를 설치해주거나 업데이트 해주도록 하자.

자 지금까지 텐서플로우를 사용할 수 있는 환경 셋팅을 모두 완료해보았다. 텐서플로우 설치는 pip install을 이용해서 설치하면 되며, 이에 대한 내용은 python 카테고리에서 패키지 설치법을 확인해보도록 하자.

다음 포스트에서는 텐서플로우를 쓰는법에 대해 차근차근 알아가보자.

728x90
반응형
728x90
반응형

 파이썬은 다루기 쉽고, 다양한 기능을 가지고 있고, 공짜라는 장점을 가지고 있지만, 인터넷이 가능한 환경이 아니라면, 패키지를 바로바로 설치하기가 불가능하다는 단점이 있다.

 그리고, 때때로 당신은 보안 수준이 상당히 높아서 인터넷이 사용할 수 없는 공간에서 파이썬을 써야할 수도 있다. 그렇다면, 파이썬은 인터넷만 안된다면 사용할 수 없는 것일까? 

 가장 좋은 방법은 외부에서 미리 필요한 모든 패키지들을 다운받아서 들어가는 것이겠지만, 보안수준이 높은 기관이라면, 이것이 불가능할 가능성이 높다.

 이외의 방법은 필요한 패키지들을 파일로 다운받아서, 이를 CD 혹은 USB로 반입하는 것인데, 이번 포스트에선 해당 방법에 대해 자세히 알아보도록 하겠다.

 

 

 

패키지를 파일로 다운로드 받아보자.

1. cmd에 들어가보자.

  • cmd를 관리자로 들어가자.

 

 

2. 내가 원하는 경로로 이동해보자.

  • 파이썬 패키지들이 다운로드될 경로를 정한다.
  • c 드라이브에 packages라는 폴더에 저장하도록 하겠다.
    (c 드라이브에 packages라는 폴더를 미리 생성해놓자.)
  • dir
    : directory의 약자로 현 위치에 있는 파일 및 폴더의 목록들이 나온다.

  • cd..
    : 현 디렉토리에서 하위 디텍토리로 이동한다.

  • cd packages
    : packages라는 파일로 디렉토리를 옮긴다.

 

 

3. 이동된 경로에 내가 원하는 패키지를 다운로드 받아보자.

  • 다운로드 받을 파일의 이름은 pip_packages로 임의로 정하였다.
  • pip download -d ./pip_packages/ pandas==1.0.1
    •  pip download: 패키지를 설치하는 것이 아닌 다운로드 하는 코드이다.
    •  -d: 디렉토리를 말한다.
    •  ./pip_packages/: 패키지가 설치될 파일이다(없는 경우 자동으로 생성 됨).
    •  pandas==1.0.1: 다운로드 받고자 하는 패키지와 그 패키지의 버전이다.
      (애초에 아나콘다를 인터넷이 안되는 곳에 가져가서 깔면 대부분의 패키지가 설치되므로, 아나콘다에 없는 패키지만 다운로드 받도록 하자.)
    • 버전을 따로 쓰지 않으면 최신 버전이 설치된다.
  • 다운로드 되는 패키지는 의존성이 있는 다른 패키지까지 전부 다운로드된다.

  • 위와 같이 방금 지정하였던 폴더에 관련 패키지들이 모두 다운로드 된 것을 볼 수 있다.
  • 다운로드 되는 파일 형태는 whl, tar 확장자이다.
  • 필요한 패키지들을 모두 다운로드 받았다면, 이를 압축파일로 묶어서 USB나 CD로 옮기도록 하자.

 

 

4. 패키지를 오프라인 환경에서 설치해보자.

  • 오프라인 환경에서 해당 파일에 들어있는 패키지를 다운받는 방법은 다음과 같다.
  • pip install --no-index --find-links=./pip_packages/ pandas==1.0.1
    • pip를 이용해서 가져올때 보는 곳을 PyPI가 아닌 ./패키지들이 들어 있는 파일 이름/ 으로 한다.
    • 띄어쓰기를 주의하도록 하자.
  • 다운받았던 패키지의 이름을 그대로 입력해주면 내가 원하는 패키지를 설치할 수 있으며, 의존성 있는 패키지 역시 자동으로 설치된다.

 

 

지금까지 내가 원하는 모듈을 다운로드 받는 방법에 대해 학습해보았다.

다음 포스트에서는 현재 파이썬에서 가장 핫한 모듈이자, 빅데이터 분석 시대의 꽃인 텐서플로우(Tensorflow)의 설치 방법에 대해 학습해보도록 하겠다.
(텐서플로우 설치 방법은 다른 패키지들과 달리 조금 더 과정이 필요하다.)

728x90
반응형
728x90
반응형

 

모듈(Module)이란?

 여러분이 파이썬을 본격적으로 활용하다보면 어느 순간부터인가 모듈, 모듈화한다 등의 말을 듣게 될 것이다. 모듈은 함수(Function), 변수(Variable), 클래스(Class)를 이쁘게 잘 모아서 잘 포장해놓은 것을 말한다. 

 그리고, 이렇게 이쁘게 잘 정리해놓은 모듈에서 우린 언제든지 내가 원하는 기능을 뽑아서 사용할 수 있다. 자, 만약 당신이 R을 미리 학습하고 왔다면, R의 라이브러리(Library)가 떠오르지 않는가?

 파이썬에서는 R의 library를 모듈(Module)이라 부르고, 우리는 언제든지 내가 필요한 모듈에서 내가 필요한 기능을 가져와서 사용할 수 있다. 앞서서 파이썬의 특징에 대해 설명할 때, 파이썬은 다양한 모듈(라이브러리라고 혼용하여 사용하였음.)들이 서로서로 의존성을 가지고 있으므로, 설치가 꽤나 어렵다고 했는데, 이번엔 그 어려운 모듈 설치를 한번 해보도록 하겠다.
(환경은 이전까지 학습한 PyCharm에 아나콘다 가상환경으로 진행할 것이다.)

 

 

 

 

모듈 설치 방법은?

아나콘다, 파이참 이 2가지를 설치한 우리에겐 총 3가지의 모듈 설치방법이 있다.

1) pip로 설치하기

  • 파이참 터미널에서 설치
    • 파이참 좌측 하단을 보면 Terminal이라는 버튼이 있으며, 해당 버튼을 누르면 cmd창을 파이참에서 바로 사용할 수 있다.
    • 우측의 Event Log에서는 코드 실행 후 발생한 특이사항들을 확인할 수 있다.
    • 우측하단의 Event Log 버튼도 동일한 기능을 갖는다.

 

  • cmd 창을 바로 이용한다.
    • Anaconda를 설치하면서 생긴 Anaconda prompt 창을 사용해보자(그냥 cmd 창도 가능).
    • 만약 이전 포스트의 내용까지 잘 따라왔다면, 아마 Anaconda prompt (가상환경이름)이라는 파일도 생겼을 것이다. 해당 파일을 클릭하면, 가상환경에 대한 prompt로 들어가게 된다.

 

  • pip install 모듈이름
    : "모듈이름"을 pip로 설치한다.
  • pip uninstall 모듈이름
    : "모듈이름"을 제거한다.
  • pip list
    : 현재 환경에 설치되어 있는 파이썬 모듈의 목록을 가지고 온다.
  • pip install --upgrade pip
    : pip를 최신 버전으로 업그레이드 한다(처음 pip를 쓰기 전이라면 꼭 해주도록 하자.)
  • pip --version
    : pip 버전 확인
  • pip란?
    • pip는 파이썬으로 작성된 패키지 소프트웨어를 설치, 관리하는 패키지 관리 시스탬이다. Python Package Index(PyPI)에서 많은 파이썬 패키지를 볼 수 있다(위키피디아).
    • 그러나, pip는 앞서 다른 포스트에서 말했듯, 모듈 설치 시 충돌이 발생하면 이 부분을 무시해버리기 때문에 설치가 제대로 안될 위험이 있다.
    • 그러므로, 가능한 conda를 써보도록 하자.

 

 

2) Conda 써보기

앞서 우리는 아나콘다를 깔았고, 가상환경을 깔았으므로, 아나콘다 prompt를 이용해서 설치해보도록 하겠다.

  • 아나콘다 가상환경 프롬프트인 Anaconda prompt (가상환경이름)으로 들어가보자.

  • 그냥 Anaconda의 명령 prompt는 (Base)... 로 시작하지만, 가상환경에서는 (가상환경이름).. 으로 시작한다는 차이가 있다.
  • 파이썬은 모듈을 설치 및 관리할 때, 충돌이 일어나기 쉬우며, 충돌이 발생한 경우, 그때 그때마다 파이썬과 관련된 모든 파일을 삭제하여야할 수도 있지만, 가상환경을 사용하면, 해당 가상환경만 제거하면 된다.
  • conda install 패키지이름
    : conda로 내가 원하는 패키지를 설치할 수 있다.
  • conda란?
    • 아나콘다의 패키지 관리자로, 패키지 설치 시 현재 환경과 충돌 여부를 확인한다. 
    • 일반적으로 "conda install 패키지이름"으로 패키지를 설치해보고, 그 후에 "pip install 패키지이름"을 사용하는 것을 추천한다.

 

 

3) 파이참에서 설치해보자

파이참에서 터미널을 사용하지 않고, 파이참만의 방식으로도 설치가 가능하다.

  • File > Settings을 클릭하고 들어가보자.
  • Project: 프로젝트이름 > Project Interpreter를 눌러보면 아래와 같은 화면이 뜬다.

 

  • + 버튼을 눌러보자.

  • + 버튼을 누르면 설치돼있는 모듈은 파란색으로, 설치가 아직 안된 모듈은 하얀색으로 표시가 된다.
  • 또한 Description을 보면 간략한 상세 정보를 볼 수 있다.
  • 우측 하단 Specify version을 체크하면, 내가 원하는 버전으로 설치할 수 있다.
  • 설치하고자 하는 패키지를 클릭하고 좌측 하단의 Install package를 클릭하면, 해당 패키지가 설치된다.
  • 설치 진행 상황은 파이참의 최하단부에서 확인 가능하다.
  • 설치 가능한 모든 패키지가 검색 가능하진 않다. 특정 패키지의 경우 파이참 UI를 이용해서 설치가 불가능하므로, 그런 경우 conda나 pip를 써서 설치하도록 하자.

 

 

만약, 파이썬 모듈을 설치하다가, 설치된 패키지들끼리 충돌을 일으키거나, 잘못된 패키지 설치 등으로 인해, 문제가 생겨서 환경을 처음부터 다시 셋팅하고자 한다면, 새로운 가상환경을 만들면 된다.

다음 시간엔 오프라인으로 파이썬 패키지들을 다운받는 방법에 대해 학습해보도록 하자.

728x90
반응형
728x90
반응형

 Pycharm은 Python용 IDE(통합 개발 환경)로 많이 쓰이는 개발툴 중 하나로, 파이썬 개발툴 중 가장 높은 완성도를 가지고 있다는 특징이 있다.
(이외의 선택지는 Visual Studio에 파이썬 확장을 하는 것 말고는 없다.)

 

 

파이참을 설치해보자.

1. Google에 파이참을 검색해보자.

 

 

2. 파이참 Community 버전(공짜!!) 다운로드 클릭!

 

 

3. 파이참 설치를 진행해보자!

 

  • 설치 경로를 C 드라이브 바로 아래에 Pycharm 파일을 만들어서 그 곳으로 경로를 지정해주자.

  • 4가지 체크박스 모두를 체크해주도록 하자.
  • 바로가기, 폴더에서 프로젝트 바로 열기, PATH에 등록하기 등을 모두 선택.
  • Next > Install 을 눌러 설치해주도록 하자.

  • 설치가 완료 되었으면 Reboot now를 눌러 시스템을 재부팅해주자.

 

 

 

 

파이참을 실행하고 환경 셋팅을 해보자.

1. 파이참을 실행해보자.

  • 파이참을 설치할 때, JetBrains라는 파일에 들어가도록 이름을 정했었다(Default 값이므로, 위 설치 방법처럼 쭉쭉 진행했다면, 내가 언제 그랬지!? 하고 오해하지 않아도 된다.)

 

 

2. 환경을 셋팅을 해보자

  • 파이참 실행이 처음이므로 setting을 import하지 않고 시작하도록 하자.

 

  • 눈 보호를 위해, UI 테마를 어두운 화면인 Darucula로 선택하자

 

  • 여러가지 기능을 추가로 설치할 수 있다.
  • 본 환경에선 IdeaVim과 R 이 2가지를 설치해주도록 하겠다(개인적으로 R을 참 좋아한다.).
  • 위 과정이 끝나면 Start using PyCharm을 클릭하여 파이참을 본격적으로 실시해보자.

 

  • 본격적인 실행에 앞서서 Confiqure > Settings를 눌러서 개발 환경 설정을 실시하자.

 

  • Default Project > Project Interpreter에 들어가서 아나콘다를 기본 인터프리터(코드를 실행할 프로그램이라고 생각하면 간단하다.)로 설정하자.
  • 나사 모양을 누르고 Add를 해주자

 

  • 이전 포스트에서 만들었던 가상 환경을 그대로 사용하기 위해 위 와 같게 체크해주자
  • 마지막에 Click!!!!이라 쓰인 빨간 박스 안에 있는 버튼을 클릭하자

 

  • 만약 지금까지의 과정을 쭉 따라왔다면 다음과 같은 위치에 가상환경이 존재할 것이다.
  • C > Anaconda > envs > python.exe를 선택하자.
  • OK > OK > Apply > OK 를 눌러서 빠져나오자.

 

 

3. 새로운 프로젝트를 만들어보자.

  • 파이참은 Project 단위로 소스 파일들을 관리한다.

  • 새로 만든 Project의 이름을 정해주고
  • 방금 환경 셋팅에서 디폴트 Interpreter로 설정한 가상환경을 가지고 오기 위해 Existing interpreter를 체크해주자
  • Create로 가상환경을 생성하자.

 

  • 지금까지 잘 따라왔다면 Project 생성 시간이 꽤 걸릴 것이다.

 

  • 프로젝트에 우클릭 > Nex > Python File 을 실시하면 새로운 파이썬 파일이 생성된다.

 

  • 이번엔 Practice1.py로 새로운 파이썬 파일을 생성해보겠다.

 

  • print("Hello world")라고 타이핑하고, 마우스 우클릭 Run 버튼을 누르거나, Shift + F10을 하면 해당 파이썬 파일을 실행시킬 수 있다.

 

 

 

자 지금까지 윈도우에서 파이썬을 사용하기 위한 셋팅을 실시해보았다.

다음 포스트에서는 내가 필요로 하는 패키지를 다운로드 받는 방법에 대해 학습해보도록 하겠다.

728x90
반응형
728x90
반응형

지난 포스트에선 아나콘다 설치와 주피터 노트북 사용법에 대해 간략하게 훑어봤다.
이번 포스트에선 아나콘다의 특징 중 하나인 파이썬 가상환경에 대해 학습해보도록 하자.

 

 

 

가상환경(Virtual Environment)

  • 가상환경이란 말 그대로, 가상의 개발 환경으로, 대표적인 예시로 Virtual Box(VB)와 같은 툴을 통해 윈도우 안에 우분투, CentOS와 같은 다른 OS를 가상 머신에 설치하여, 기존 환경과 다른 환경을 구축하는 것을 말한다.
  • 앞서 다루었던 파이썬의 단점에서 의존성 문제로 인한 라이브러리의 충돌이 발생할 수 있다고 하였는데, 이 가상환경을 이용한다면, 조금 번거롭긴 하겠지만 python 버전 관리부터 패키지 충돌 방지를 동시에 만족할 수 있다.
  • 가상환경을 사용하면, 64 bit 환경에 대해서도 32 bit 환경에 대해서도 따로 환경을 만들어서, 다른 파이썬 설치 없이 쉽게 해결할 수 있다.
  • 즉, 가상환경을 만들면 파이썬의 버전과 라이브러리의 관리를 실제 환경과 별도로 만들어진 가상 속의 환경에서 해결할 수 있다는 것이다.

 

 

 

아나콘다에서 가상환경을 만들어보자.

1. 아나콘다 prompt를 실행하자.

 

 

2. Conda의 버전 확인과 update를 해주자.

  • conda --version
    : 아나콘다의 버전을 확인한다.
  • conda update conda
    : 아나콘다를 업데이트 한다.
  • 위 과정을 실시하면 맨 아래와 같이 Proceed ([y]/n)? 이라는 문구가 뜰 것이다. 여기서 y를 타이핑하고 엔터를 하자.

  • 위와 같은 결과가 나오며 Anaconda 버전 업데이트가 완료되었다.

 

 

3. 아나콘다의 가상환경을 생성해주자

  • conda create -n 가상환경이름 anaconda python=3 이라고 타이핑 쳐보자
  • python= 뒤에 들어가는 숫자는 python의 버전이다.
    (단순하게 python3를 쓰겠다면 python=3 이라고 해도 된다. 최신 버전이 설치되므로, 특정 버전이 필요한 경우 해당 버전을 정확히 적도록 하자.)
  • y를 입력하여, 가상환경 생성을 완료하도록 하자.

  • 가상환경 생성이 완료가 되면 간단하게 가상환경을 켜는 방법과 끄는 방법을 설명해준다. 이밖에 유용한 코드들을 정리해놓고자 한다.
  • conda activate 가상환경이름
    : 가상환경을 활성화하고자 하는 경우.
  • conda deactivate
    : 가상환경을 비활성화하고자 하는 경우.
  • conda env export > 가상환경이름.yaml
    : 가상환경을 내보내기(yaml 파일로 저장된다.)
  • conda env create -f 가상환경이름.yaml
    : 가상환경 불러오기
  • conda env list
    : 가상환경 리스트 출력
  • conda env remove -n 가상환경이름
    : 가상환경 제거하기

아래 내용은 가상환경 상태에서 치는 것을 추천한다.
(가상환경이 아닌 경우, conda 자체에 설치되서 가상환경을 사용할 수 있는 아나콘다의 장점을 활용할 수 없다.)

  • conda install 패키지이름
    : 가상환경에 특정 패키지를 설치하고자 하는 경우.
  • conda update 패키지이름
    : 패키지를 업데이트 하고자 하는 경우.
  • conda upgrade --all
    : 설치된 모든 패키지 업데이트
  • conda list
    : 설치된 패키지 목록 보기
  • conda remove 패키지이름
    : 패키지 제거

 

 

 

 

가상환경에서 파이썬을 다뤄보자.

  • 그다지 크게 쓸모 있는 부분은 아니지만 가상환경에서 파이썬을 사용해보자.

  • conda activate conda_virtual_env
    : 가상환경(conda_virtual_env) 활성화
  • python
    : python 실행
  • print("Hello world")
    : 파이썬을 비롯한 각종 프로그래밍 언어를 처음 다루게 되었을 때, 쳐볼 단어이다!
  • quit()
    : 파이썬 종료
  • conda deactivate
    : 가상환경 비활성화(deactivate라고 쳐도 된다.)
  • exit
    : conda prompt 종료

 

 

지금까지 아나콘다의 가상환경 만들기에 대해 학습해보았다.

위 방법을 사용하면, 얼마든지 내가 원하는 파이썬 버전에 맞는 가상환경을 만들고, 패키지 관리를 할 수 있다.

다음 포스트에서는 아나콘다를 보다 효율적으로 사용할 수 있도록, 아나콘다를 파이참에서 사용하는 법에 대해 학습해보도록 하겠다.

728x90
반응형

+ Recent posts