본문 바로가기
Autonomous Vehicle/Computer Vision

[TF/Keras] Ubuntu 18.04 가상환경에서 TensorFlow 설치하고 Keras 신경망 라이브러리 환경 설정하기

by kim.jeff 2020. 8. 22.

텐서플로우라는 단어를 들어보셨나요? 인공지능을 다루게 된다면 텐서플로우라는 툴은 쉽게 접할 수 있었을것이라고 생각합니다.

텐서플로우는 수학 및 기계학습 라이브러리 입니다. 구글 브레인팀에서 개발되었다고 합니다. 본 라이브러리를 우분투라는 리눅스 기반의 환경 PC에서 설치하는 과정을 소개하겠습니다. 밑의 글을 따라가보겠습니다.

 

www.pyimagesearch.com/2019/01/30/ubuntu-18-04-install-tensorflow-and-keras-for-deep-learning/

 

Ubuntu 18.04: Install TensorFlow and Keras for Deep Learning - PyImageSearch

Learn how to configure your Ubuntu 18.04 machine for deep learning with TensorFlow and Keras using my step-by-step, easy to follow instructions.

www.pyimagesearch.com

 


 

[TF/Keras] Ubuntu 18.04 가상환경에서 Tensorflow 설치하고 Keras 신경망 라이브러리 환경 설정하기

[TF/Keras] Installation of Tensorflow and Setting Keras Library of Neoron Network in Virtual Environment of Ubuntu 18.04

 


 

환경설정을 하기전 자신이 nvidia GPU를 활용한 학습을 진행할것인지 여부에 따라 설치법이 나누어 지는데, 필자의 그래픽카드는 nvidia 사의 GTX-1060 6GB 인 관계로 그래픽카드를 사용하는것으로 설치를 진행해 보겠습니다.

 

1. 업데이트 및 업그레이드

$ sudo apt-get update
$ sudo apt-get upgrade

2. 관련 여러가지 라이브러리 및 패키지들 설치하기

$ sudo apt-get install build-essential cmake unzip pkg-config
$ sudo apt-get install libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
$ sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libopenblas-dev libatlas-base-dev liblapack-dev gfortran
$ sudo apt-get install libhdf5-serial-dev
$ sudo apt-get install python3-dev python3-tk python-imaging-tk

3. gcc v6 설치

CUDA9.0 버전이 gcc v6를 필요로 하지만 우분투 18.04의 경우 gcc v7을 탑재하고 있기때문에 v6를 설치할 필요가 있다.

$ sudo apt-get install gcc-6 g++-6

4. NVIDIA 그래픽 드라이버 설치하기

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt install nvidia-driver-396

필자의 그래픽카드는 1060인데 396버전을 지원하지 않아서 440버전을 설치하였다. (버전이 중요하다고 한다. cudnn과 cuda 버전에 상관관계가 있다고 하니 참고하길 바란다.

 

재부팅 후 잘 설치되어있는지 확인해 보도록 한다.

$ sudo reboot now
$ nvidi-smi

명령을 실행했을때 자신의 그래픽카드에 대한 정보가 나온다면 성공적으로 설치가 완료된 것이다.

5. CUDA 9.0 설치하기

$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
$ chmod +x cuda_9.0.176_384.81_linux-run
$ sudo ./cuda_9.0.176_384.81_linux-run --override

아래의 문구를 추가하여 쿠다 툴킷의 경로설정을 한다.

nano ~/.bashrc
# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
$ source ~/.bashrc

다음과 같이 잘 뜨는지 확인한다. 쿠다 설치가 완료된것이다.

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

6. cuDNN ver 7.4.1 설치하기

로그인이 필요하니 회원가입을 할 필요가 있다.

 

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

 

#CUDA v9.0 설치된 폴더로 옮기기
sudo mv cudnn-9.0*.*  /usr/local/cuda-9.0
cd /usr/local/cuda-9.0

# 압축을 푸는 명령
sudo tar -zxvf cudnn-9.0*.*

# 압축푼 데이터를 옮기는 명령
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo cp  cuda/include/cudnn.h /usr/local/cuda-9.0/include/

# 모두가 읽을 수 있도록 권한을 주는 명령
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

관련 라이브러리 및 패키지 설치

$ sudo apt-get install libcupti-dev

7. 가상환경 설치하기

pip를 설치한다. 

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py

virtualenv (가상환경) 에서 virtualenvwrapper 설치한다.

$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/get-pip.py ~/.cache/pip

아래의 내용을 추가하여 가상환경 경로설정이 잘 되도록 한다.

$ nano ~/.bashrc
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
$ source ~/.bashrc

d14cv라는 이름의 가상환경을 만들어준다.

$ mkvirtualenv dl4cv -p python3

가상환경에서 작업을 시작한다는 명령이다.

$ workon dl4cv

여러가지를 설치해준다.

$ pip install numpy
$ pip install opencv-contrib-python
$ pip install scipy matplotlib pillow
$ pip install imutils h5py requests progressbar2
$ pip install scikit-learn scikit-image

8. 가상환경에서 Tensorflow 및 Keras 설치하기

텐서플로우 gpu버전을 설치해준다.

$ pip install tensorflow-gpu==1.12.0
$ python
>>> import tensorflow
>>>

keras를 설치해준다.

$ pip install keras
$ python
>>> import keras
Using TensorFlow backend.
>>>

여기서 필자는 텐서플로의 버전때문에 케라스가 지원하지 않는다는 결과를 얻었다. 따라서 다음의 코드로 텐서플로우 GPU버전을 업데이트 해주었다.

$ pip install --upgrade tensorflow-gpu

가상환경에서 나올때는 다음과 같이 명령을 할 수 있다.

>>> exit()
$ deactivate

9. 설치확인


 

우분투 18.04 안의 가상환경에서 nvidia graphics driver ver 440,  cuda 9.0 ,  cuDNN v7.2.1, Tensorflow, Keras 의 설치를 모두 완료하였습니다. 다음에는 미리 학습되어있는 모델을 가져와서 이미지를 분류하는 포스트를 올리도록 하겠습니다.