Server System
CPU : AMD Ryzen 7 1700 OC 3.8
RAM : CORSAIR DDR4 32G (8Gx4) vengeance Pro RGB White XMP 3000
M/A : GIGABYTE GA-AX370-Gaming K5 AORUS
SSD : WD Black SN750 M.2 2280 NVME SSD, BK2T00C, 500GB
Power : 700W
GPU : Geporce 1060 6G
Server 환경은 그냥 그럭저럭 쓸만 합니다.
17년도 말 경에 AMD 세팅해둔 게임용 PC를 이번에 Deep Learning을 위한 Server로 변경해보려고 합니다.
이 정도는 가성비 실습하는 데에 전혀 문제없는 system 일거 같네요.
Tensorflow 설치에 가장 필요한 부분은요
1. 필요한/설치하고자한 Tensorflow 버전을 먼저 확인하세요
- 구현되어 있는 코드들은 구버전일(1.x) 확률이 높습니다. 1.x 버전에 있던 함수가 2.x 버전에 없는 경우가 있습니다.
2. Tensorflow 버전에 맞는 GPU의 CUDA, CUDNN 버전을 찾아서 설치하셔야 됩니다.
딥러닝 서버 제작의 작업은 아래 순서로 진행 되며 이번 포스팅은 2번에 대해서 작성하도록 합니다.
1. Ubuntu 18.04 Install
2. Nvidia Setting, Cuda 10.0, cuDDN 7.6 Install
3. SSH Setting
4. Anaconda 4.8.3
5. Jupyter notebook
개발환경
Tensorflow-GPU 2.0
Anaconda 4.8.3
소스에서 빌드 | TensorFlow
소스에서 TensorFlow pip 패키지를 빌드하고 Ubuntu Linux 및 macOS에 설치합니다. 명령어는 다른 시스템에도 적용될 수 있지만, Ubuntu 및 macOS용으로만 테스트되었으며 지원됩니다. 참고: 잘 테스트되고
www.tensorflow.org
1. GPU driver, CUDA, cuDNN Setting
Tensorflow-GPU 2.0을 사용하려면 쿠다 10.0 버전으로 사용해야 합니다.
Setting 중간에 의존성 문제로 정말 힘들었습니다. 버전 글자 1개만 틀려도 설치도 실행도 안 되는 상황..
STEP 1. Add NVIDIA Package repositories
아래 명령어들이 안된다면 Tensorflow 공식 블로그에 가서 확인해보셔야 됩니다. 버전이 바뀌네요
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
$ sudo apt-get update
$ wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
$ sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
$ sudo apt-get update
STEP 2. Install NVIDIA driver
본인의 server의 그래픽 드라이버 버전에 맞게끔 설치해야 됩니다. 저는 버전 440을 추천해준다고 하네요.
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:03.1/0000:08:00.0 ==
modalias : pci:v000010DEd00001C03sv000019DAsd00001438bc03sc00i00
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 6GB]
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-440 - third-party free recommended
driver : nvidia-driver-430 - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-435 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
$ sudo apt-get install --no-install-recommends nvidia-driver-440
STEP 3. REBOOT
그래픽 드라이버를 설치했으니 재부팅을 해줍니다.
$ sudo reboot now
STEP 4. Install Runtime & Development Libraries (cuDNN)
$ sudo apt-get install --no-install-recommends cuda-10-0 libcudnn7=7.6.2.24-1+cuda10.0 libcudnn7-dev=7.6.2.24-1+cuda10.0
STEP 5. Install TensorRT
$ sudo apt-get install -y --no-install-recommends libnvinfer5=5.1.5-1+cuda10.0 libnvinfer-dev=5.1.5-1+cuda10.0
$ sudo reboot now
SETP 6. Reboot 후 설치된 NVIDIA driver 확인
$ nvidia-smi
nvidia-smi를 입력해도 자꾸 CUDA 10.2 버전이 잡혀 있어서, /usr/local/에 위치한 cuda의 버전을 다시 체크해 보았습니다. 그런데, 해당 위치에는 cuda 10.0이 잘 설치되어 있음을 확인 하였고 symbolic link도 정상적으로 걸려있어서 무시하였습니다. 아래의 명령어로 진짜 잡혀있는 cuda의 버젼을 한 번 더 체크해 보시기 바랍니다.
nvcc로 cuda의 버전 체크
$ nvcc --version
nvidia-smi
로 확인해보면 cuda 10.1 버전이 자꾸 잡혀서 확인해보니 /usr/local/cuda-10.0 있고 파일들도 10.0 버전이 있습니다.
nvcc --version
으로 확인해보니 Cuda 10.0 확인됩니다.
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
Path 설정을 해줘야 합니다.
$ sudo vi ~/.bashrc
아래 내용을 맨 아래에 작성해주면 되겠습니다.
## CUDA-10.0 PATH
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRA$
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
bash 파일 재실행 잊지마시구요
$ sudo source ~/.bashrc
API 설치의 문제점이 Cuda를 설치하지 않았음에도 불구하고 의도하지 않는 10.2 버전이 같이 설치되는 현상이 발견되어 데디노트 blog 가이드 내용을 제가 직접 작업한 방향으로 수정하여 작성하였습니다.
출처 : copy link : 테디노트
Ubuntu 18.04 CUDA 10.2 에서 10.0으로 Downgrade 하기
Ubuntu 18.04 CUDA 10.2 에서 10.0으로 Downgrade 하는 방법에 대하여 알아보겠습니다.
teddylee777.github.io
'AI > Deep Learning' 카테고리의 다른 글
[DL] Keras MNIST Dataset으로 U-net 구현 (1) | 2020.05.07 |
---|---|
[DL] Keras MNIST Dataset DCGAN 구현 (0) | 2020.04.29 |
[DL] Tensorflow와 Cuda Version dependency (0) | 2020.04.06 |