ubuntu 18.04 RTX3080 GPU 설정 및 Tensor flow 2.4, Keras 2.4.3 설치

 RTX 3080 GPU가 들어 있는 그래픽 카드를 구입한다고 해서,  모든 것이 완벽하게 되는 것이 아니다.   윈도우 환경에서는 딥러닝을 잘 안돌리니까? Ubuntu 환경에서 돌려야 한다. 


앞으로 이야기하는 설정은 아래의   서적에  최적화 되었는 방법론이다. 

케라스 창시자 GPU 설정

어찌 되었든  cuda 설치 이후에 아래와 같은 오류 메시지가 있었음에도 불구하고, 설정이 되었다. 

 Could not load dynamic library 'libcusolver.so.10'; dlerror: libcusolver.so.10: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.1/lib64:/usr/local/cuda-11.1/lib64:


RTX 3080 GPU 설정  


컴퓨터 마다 환경이 다르니,  유의해서 설치 해야 한다.   어찌 되었든 겨울철에만  돌리는 딥러닝,  이제 월동준비가 끝났다. 


1. Nvidia-driver-455.23 설치 

  위의 드라이버를 설치 하려면, 아래를 클릭 하여 다운 받아야 한다. 

   https://www.nvidia.co.kr/Download/driverResults.aspx/163537/kr

  다운로드 받은 다음  FTP 형태로 업로드 시켜야 한다. 

  그런 다음 아래와 같이 설치 하여야 한다. 

   $ apt-get install make gcc

   $ chmod +x NVIDIA-Linux-x86_64-455.23.04.run

   $ ./NVIDIA-Linux-x86_64-455.23.04.run -no-x-check

 Nvidia-smi 화면 

  위에 보면 CUDA Version이 있다. CUDA 버전이 11.1이 설치 되어 있으면,  CUDA 버전을 11.1로 하여야 한다. 


2. Cuda 11.1 설치 

   Cuda 11.1 버전을 아래와 같이 다운로드 받고 설치 한다. 

$ wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

$sudo sh cuda_11.1.0_455.23.05_linux.run

  

CUDA TOOL Kit 만 설치 한다. 

위의 그림과 같이 CUDA TOOL Kit 만 설치 한다. 


그리고 아래와 같이 환경변수를 설정 한다. 

$ echo -e "\n## CUDA and cuDNN paths"  >> ~/.bashrc

 echo 'export PATH=/usr/local/cuda-11.1/bin:${PATH}' >> ~/.bashrc

 echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc


환경 변수 적용

$ source ~/.bashrc


3. Dnn v8.1.1 설치 

아래를 클릭 하여,  프로그램을 설치 한다.

다운로드  

https://developer.nvidia.com/rdp/cudnn-archive







Dnn v8.1.1 설치 

 $ tar xvzf cudnn-11.2-linux-x64-v8.1.1.33.tgz

파일 복사 및 권한 설정 

$ cp -P cuda/include/cudnn.h /usr/local/cuda-11.1/include

$ cp -P cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64/

$ chmod a+r /usr/local/cuda-11.1/lib64/libcudnn*

$ chmod a+r /usr/local/cuda-11.1/include/cudnn.h



파이썬 설치

1. 아나콘다 설치 

 $ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh 

 $ bash Anaconda3-2020.11-Linux-x86_64.sh

 설치 시 모든 것에다 yes 한다. 

 $ source ~/.bashrc


2. 주피터 노트북 연결


 -주피터 노트북 패스워드 쓰기 

  $ jupyter notebook --generate-config

  $ jupyter notebook password


 -주피터 노트북 연결 

$ jupyter notebook --ip='192.168.0.12'


  주피터 노트북이 되는지 확인 한 후에, 빠져나감

 

  - 아래와 같이  tensorflow와 keras, OpenCv 를 설치 한다
  
    $ pip install tensorflow-gpu==2.4.0
    $ pip install Keras==2.4.3
    $ pip install --upgrade pip
    $ pip install opencv-python


- 주피터 노트북에 아래와 같이 설치 한다. 

 >>> import tensorflow as tf

 >>> rom tensorflow.python.client import device_lib

 >>> device_lib.list_local_devices()


[name: "/device:CPU:0"

 device_type: "CPU"

 memory_limit: 268435456

 locality {

 }

 incarnation: 10308848035625147863,

 name: "/device:GPU:0"

 device_type: "GPU"

 memory_limit: 9511940928

 locality {

   bus_id: 1

   links {

   }

 }

 incarnation: 10949307575940558116

 physical_device_desc: "device: 0, name: GeForce RTX 3080, pci bus id: 0000:01:00.0, compute capability: 8.6"]

위와 같이 나오면 성공하는데,   만약에  "libcusolver.so.10" 오류로,  설치가 잘되지 않는다면, 아래와 같은 조치를 취하여야 한다. 

cd /usr/local/cuda-11.1/lib64

sudo ln -s libcusolver.so.11 libcusolver.so.10


NUMA 오류제거 

PC 별로 환경이 다르니 /sys/bus/pci/device/ 하위 폴더를 보고 정리 해야 한다. 

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:00.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:01.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:02.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:14.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:16.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:17.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1b.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1c.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1c.7/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1d.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1f.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1f.2/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1f.3/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:00:1f.4/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:01:00.0/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:01:00.1/numa_node

echo 0 | sudo tee -a /sys/bus/pci/devices/0000:04:00.0/numa_node


추가로 R 최신 버전을 설치 하고 싶으면 아래와 같이 한다. 

conda install -c conda-forge r-base=4.1.2
conda install -c conda-forge/label/gcc7 r-base
conda install -c conda-forge/label/broken r-base
conda install -c conda-forge/label/cf201901 r-base
conda install -c conda-forge/label/cf202003 r-base

conda install -c r r-essentials

댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...