카테고리 없음

docker 환경설정 끝내기 [tensorflow 2.4.1 ubuntu 20.04 cudnn 8.0 cuda 11.0]

비비이잉 2021. 10. 21. 11:17
반응형

[tensorflow 2.4.1 ubuntu 20.04 cudnn 8.0 cuda 11.0] 에서 도커 환경설정 방법이다. 

docker pull ubuntu:20.
docker run -it ubuntu:20.04
# 모듈/패키지 정보 업데이트 
root@d44139ec9a260:/# apt-get update

# 필수 모듈/패키지 설치
root@44139ec9a260:/# apt-get install -y net-tools wget git-core vim sudo kmod build-essential cmake pkg-config unzip
# python 3.8 conda 설치 스크립트 다운로드
root@44139ec9a260:/# cd /root
root@44139ec9a260:/# https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh

# Conda 설치
root@44139ec9a260:/# bash Miniconda3-py38_4.10.3-Linux-x86_64.sh

# 하라는 대로 설치 쭉 한다 

# Conda 환경 적용
root@44139ec9a260:/# . .bashrc

# 설치 버전 확인 
root@44139ec9a260:/# conda --version
root@44139ec9a260:/# python --version 

# tensorflow 설치
root@44139ec9a260:/# conda search tensorflow
# 이렇게 하면 설치 가능한 tensorflow 가 쭉 뜬다(버전 잘 보고 고르기)

# tensorflow 진짜 설치 
root@d44139ec9a260:/# conda install -c conda-forge tensorflow=2.4.1=gpu_py38h8a7d6ce_0

# open cv 설치
root@d44139ec9a260:/# conda install -c conda-forge opencv

# 버전 확인을 위해서 
root@d44139ec9a260:/# python3
#으로 들어간 후
In [1]: import cv2
In [2]: print(cv2.__version__) 4.5.1
# import 가 안되면  아래와 같이 해서 dependency에 대한 패키지 설치를 해준다
root@dd44139ec9a260:/# sudo apt-get install libgl1-mesa-glx






# 추가 작업 후 container 나가기 
root@44139ec9a260:/# exit

자 여기서가 문제다 

 

정신 똑바로 차리고 버전 확인하기 

 

1. cuda 11.0

2. cuda 8.0 

3. tensorflow 2.4.0

4. python 3.8

5. ubuntu 20.04 

https://www.tensorflow.org/install/source#tested_build_configurations

 

소스에서 빌드  |  TensorFlow

ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more 소스에서 빌드 소스에서 TensorFlow pip 패키지를 빌드하고 Ubuntu Linux 및 macOS에 설치합니다. 명령어는 다른 시스템에도 적용될

www.tensorflow.org

링크에 들어가면 각각 호환되는 버전이 뜬다. 여기서 밑줄 친 버전을 사용할 예정이다. 

 

1) 첫번째로

cuda toolkit 11.0

 

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
sudo sh cuda_11.0.3_450.51.06_linux.run

버전 확인 후 저 밑에 뜨는 명령어 두줄을 다 입력해줘야한다. 첫번째 줄이 오래걸려서 멍때리다가 두번째줄 하는거 까먹고 nvcc -V하면 당연히 아무것도 안나온다 : ) 

 

두번째 명령어를 치면 실제로 설치하는 과정이 나오는데 거기서 드라이브의 경우는 체크박스를 해제하고 나머지 전체는 다 설치해줬다 

 

여기에서 까는데 뭐라뭐라 오류 로그 파일 읽어라 하고 에러가 뜨면 gcc가 설치되어있지 않을 확률이 높다 

 

 

여기까지 했는데 nvcc -V 했을때 아무것도 안나오면

path 설정을 해줘야함 

 

cd ~
vi ~/.bashrc

vi bashrc 파일로 들어가서 맨 마지막으로 가서 

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

:wq 로 저장까지 해주고 vi 편집기에서 나와서

source ~/.bashrc

 까지해주면 nvcc -V하면 잘나올거 ! 

2) cuDNN 

https://developer.nvidia.com/rdp/cudnn-archive(링크)

 

cuDNN Archive

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

developer.nvidia.com

tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz

 

서버단에서 작업중이라면 로컬로 다운받은애를 서버 작업하는 환경의 경로로 이동한 후에 그 경로에서 압축을 풀어줘야함(너무 당연한소리)

sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

복사해주고 chmod로 권한 바꿔주고나면 끝

 

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

이렇게하면 설치된 버전 확인 가능 

 

자 이렇게 다 설치했으니까 설치한 환경 그대로 이미지 저장도 해놓자 

 

# Docker Image 생성
docker commit -m '<이미지 설명>' <Container ID> <image name>:<tag>

 

반응형