Ubuntu 18.04 + Tensorflow 설치

| 2020년 4월 8일 | 0 Comments

1.Tensorflow ?

텐서플로우는 텐서(Tensor)들이 흐른다는 의미를 가지고 있습니다.

구글에서 만든 오픈소스 라이브러리이며

데이터 흐름 그래프(Data Flow Graph)를 사용하여 수치 연산을 해주는 라이브러리로

기계 학습분야의 프로그램을 만들기 위한 라이브러리입니다.

2.설치 환경

운영 체제(OS) : Ubuntu 18.04

그래픽 카드(GPU) : GeForce RTX 2080

CUDA 10.0

cuDDN 7.4

Python 2.7

tensorflow-gpu-1.14

3. nvidia 그래픽 드라이버 다운로드

#add-apt-repository ppa:graphics-drivers/ppa

우선 레포지토리를 추가합니다.

#apt-get update

#apt-get install ndiva-driver-440

nvidia driver 를 설치합니다.

#ndviai-smi -q | grep Product

설치 된것을 확인합니다.

 

4. Cuda 설치

 

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

설치 진행에 앞서 test진행된 버전 확인 후 그에 맞춰서 설치를 진행합니다.

 

https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal

설치하려는 운영체재 및 버전을 선택하여 설치를 진행해줍니다.

#wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64

#sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb

#sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub

#sudo apt-get update

#sudo apt-get install cuda

설치중에 나오는 값들은 다 디폴트로 설정 진행하였습니다.

5. cudnn 설치

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

 

CuDNN Library for Linux를 눌러 다운 후 압축해제를 시켜줍니다.

#cp cuda/include/cudnn.h /usr/local/cuda/include

#cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

#chmod a+r /usr/local/cuda/include/cudnn.h

#chmod a+r /usr/local/cuda/lib64/libcudnn*

#apt-get install libcupti-dev

6. anaconda tensorflow 설치

#curl -O https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh

#sh Anaconda3-2019.03-Linux-x86_64.sh

#apt-get install python-pip

pip을 설치 해줍니다.

#pip install tensorflow-gpu

tensorflow gpu버전을 설치합니다.

#python

#import tensorflow as tf

#hello = tf.constant(‘hello’)

#sess = tf.Session()

#print(sess.run(hello))

 

7.예제 테스트

import tensorflow as tf

MNIST 데이터셋을 로드하여 준비합니다. 샘플 값을 정수에서 부동소수로 변환합니다:

#mnist = tf.keras.datasets.mnist

#(x_train, y_train), (x_test, y_test) = mnist.load_data()

#x_train, x_test = x_train / 255.0, x_test / 255.0

층을 차례대로 쌓아 tf.keras.Sequential 모델을 만듭니다. 훈련에 사용할 옵티마이저와 손실 함수를 선택합니다

#model = tf.keras.models.Sequential([

# tf.keras.layers.Flatten(input_shape=(28, 28)),

# tf.keras.layers.Dense(128, activation=’relu’),

# tf.keras.layers.Dropout(0.2),

# tf.keras.layers.Dense(10, activation=’softmax’)

#])

#model.compile(optimizer=’adam’,

# loss=’sparse_categorical_crossentropy’,

# metrics=[‘accuracy’])

모델을 훈련하고 평가합니다:

#model.fit(x_train, y_train, epochs=5)

#model.evaluate(x_test, y_test, verbose=2)

 

Category: 솔루션/IT기타

Avatar

About the Author ()