Kamchol's Base Camp

TensorFlow 우분투 14.04 설치 하기

  • 설치 환경

    • CPU: intel i5-7 7500 카비레이크

    • 그래픽 카드 : Colorful 지포스 GTX 1060 6GB

    • 멀티 부팅(윈도우 SSD , 리눅스 SSD 각각 256GB)

리눅스 USB 만들기

  1. 우분투 다운로드

  2. USB 만들기

    • 윈도우가 먼저 설치 되었다는 가정하에 유니버셜 인스톨러 설치 https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/



    • step1. 설치하기 원하는 버전을 설정 (우리는 ubuntu 64bit)

    • step2. Brows에서 위에서 다운로드한 ISO파일 지정

    • step3. USB 문자 선택 -> Fat32로 포맷 (체크 박스 체크!)

    • step4. 영구 저장공간 선택 -> USB를 우분투 용으로만 사용할 것이기 때문에 0으로 유지

    • 마지막으로 create 버튼을 눌러 USB를 생성

우분투 파티션 설정

  1. 설치 -> 기타 (someting else)


  2. /dev/sda 윈도우 와 리눅스 멀티 부팅이라면 여러개가 목록에 보일텐데 리눅스를 설치할 하드디스크를 정확히 확인하고 리눅스를 설치 하자! (윈도우를 밀어버리는 사태가 발생 될 수 도 있음)


  3. 왼쪽 하단에 + 버튼을 눌러 파티션을 설정 한다, 나는 root(/), swap 두 가지 만을 설정하여 파티션을 나누어 설정함

    • Use as 에서 swap area 지정 후 자신의 메모리에 약 두배 정도 지정 하면 문제 없이 사용 가능하다.

      • Primary 선택, Beginning of this space 선택

    • root 공간 선택은 swap area 설정 후 남은 공간을 모두 할당 하면 된다.

      • Primary 선택 ,Use as : Ext4 journaling file system 선택 후 Mount Point 에는 / 선택 -> OK!

  4. 이후 진행은 필요한 것을 기입하고 진행하면 우분투 설치 끝!

우분투 재설치

  • tensorflow를 설치 하기 앞서 그래픽 카드를 설정해야 하는데 (이후 설명), 하다가 제대로 작동 하지 않아, 나도 몇번의 우분투를 재설치 했다. 우분투 재설치는 위의 파티션 설정을 다시 할 필요가 없다.


    만약 재설치를 위해 부팅 USB를 다시 꼽고 우분투 설치 화면으로 갔다면 위와 같은 화면이 나온다

    이때, 기존처럼 기타가 아닌 맨위에 [지우고 다시설치]를 선택하고 지금 설치를 누르면 기존에 설정된 마운트 영역을 유지 한채 덮어 쓰기 때문에 바로 재설치가 가능함!

그래픽 드라이버 설치

  1. 그래픽 드라이버 설치

    -GeForce

    -10 series

    -1060

    -linux 64bit

  2. Blacklist 편집

    • sudo gedit /etc/codprobe.d/bliclist.conf -> gedit으로 blacklist open

    • 아래 내용 복사 저장

      blacklist nouveau

      blacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau

    • 터미널 입력

      update-initramfs -u

    • sudo reboot (꼭 재부팅!)

  3. 드라이버 설치

    • Ctrl + Alt + F1으로 GUI 모드를 빠져나오고 아래 명령어 수행

    • sudo service lightdm stop

    • Nvidia 그래픽 드라이버 받은 폴더로 이동 ex : home or download

      • chmod +x NVIDIA-Linux-x86_64-xxx.xx.run (받은 파일에 대한 실행가능 파일로 변경)

      • 화면에 나오는것 accept

    • sudo service lightdm start

    • sudo reboot

    • Ctrl + Alt +F7 (GUI로 전환)

  4. 설치 확인

    • 터미널창에다가 아래 두개 명령어 수행

      • nvidia-smi

      • nvidia-settings

    • 수행했을 때 테이블 형태로 설치된 그래픽 드라이버에 대한 정보가 나오면 성공!

CUDA Toolkit & cudnn 설치

  1. CUDA 다운로드

    • 현재 CUDA Toolkit 버전과 어떤 cudnn이 최신의 tensorflow 와 호환되는지 알아본 후 에 설치 권장

  1. cudnn 다운로드

  2. CUDA Toolkit 설치

    • 다운로드 폴더 이동 후, cuda toolkit 실행

    • 주의점 : 모두 y를 누르면 안된다. Install NVIDA Accelerated Graphics Driver for Linux-x86_64.xxx.xx? 는 no를 선택 하고 나머지 모두 yes

  3. cudnn 설치

    • 압축 해제 tar xvzf 압축 폴더이름

  • 라이브러리 이기 때문에 해당 .h 와 libcudnn으로 시작 하는 모든 폴더를 CUDAToolkit의 각각에 맞는 폴더에 옮겨 주면 끝!

    • sudo cp cuda/include/cudnn.h /usr/local/cuda/include

    • sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

    경로 설정

    • gedit ~/.bashrc

      • bashrc 안에 아래 내용 기입

      • export LD_IBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

      • export CUDA_HOME=/usr/local/cuda

    • source ~/.bashrc

    Tensorflow 설치

    1. pip 설치

      • sudo apt-get install python-pip python dev

    2. Tensorflow 설치

      • 아래 주소에서 자신의 설치 환경에 맞는 주소를 선택해서 터미널에 입력

        ( 나의 경우, GPU활성, python 3.5선택)

      • 아래의 명령어로 tensorflow 설치

        • Python2의 경우 sudo pip install --upgrade $ TF_BINARY_URL

        • Python3의 경우 sudo pip3 install --upgrade $ TF_BINARY_URL

          • (python 3.5 선택했기 때문에 이명령어 선택)

      • 이후, 설치가 진행됨

    1. 설치 확인

      • 터미널에 아래의 코드를 실행

      • 아래와 같이 Hello, TensorFlow 나올경우 설치 완료!


        $ python
        ...
        >>> import tensorflow as tf
        >>> hello = tf.constant('Hello, TensorFlow!')
        >>> sess = tf.Session()
        >>> print(sess.run(hello))
        Hello, TensorFlow!

'DeepLearning' 카테고리의 다른 글

우분투 멀티 부팅에서 TensorFlow 설치 까지  (0) 2017.08.18

Comment +0

1.zeros(n,m)  



2.ones(n,m)


3.eye(n,m)



A =[4 ,3 ; 5 6; 7 8];
4. fliplr(A) = 좌우반전


5.flipud(A) = 상하반전


6. triu(A)
 주어진 배열 A에 대하여 (1,1)을 포함 하는 대각선 상에 있는 원소 들과 그 위쪽에 있는 원소들을 포함하는 위쪽 삼각형에 대한 원소를 가지고 배열을 생성하며 그 아래쪽은 모두 0

7.tril(A)
주어진 배열 A에 대하여 (1,1)을 포함 하는 대각선 상에 있는 원소 들과 그 .아래쪽에 있는 원소들을 포함하는 아래쪽 삼각형에 대한 원소를 가지고 배열을 생성하며 그 위쪽은 모두 0


8.reshape(A,n,m) =A행렬(3,2)행렬을 재배치 한다, (2.,3),(1,6),(6,1)

9.strcmp(A,B) = A와 B의 문자 열 비교 같으면 1 다르면 0반환

10.strfind(A,B)  =A:문자열,B:찾으려는 문자열 찾은 문자열의 위치를 반환.









'Matlab > 명령어 정리' 카테고리의 다른 글

매트랩 명령어 정리  (0) 2014.12.26

Comment +0

영상의 영역 분할

영상을 구성 요소로 혹은 분리된 물체로 구분하는 연산을 의미한다.

문턱처리 및 엣지 검출을 다룬다.

문턱치 처리 (Thresholding)

단일 문턱치 처리

그레이 스케일 영상을 2진 영상으로 바꿀 수 있다. 이는 먼저 원 영상에서 그레이 레벨T를 선정하고 , 화소의 값이 T보다 큰지 혹은 작은지에 따라서 모든

화소들을 흰색 혹은 흑색으로변경 하면 된다

이중 문턱치 처리

2개의 값 T1과 T2를 선택하고 문턱치 처리를 한다.

T1과 T2사이의 값은 1 그외의 값은 0

문턱치 처리의 응용

1.본질의 집중하기 위해 영상에서 불필요한 부분을 제거 하기 원할 때 사용

2.숨겨진 미세한 부분을 나타낼 때

3.글자나 혹은 그림으로부터 변화하는 배경을 제거 하고자 할 때

적절한 문턱치의 선정

영상처리의 과정의 성패는 적당한 문턱치 레벨의 결정에 의해 좌우 된다.

만일 문턱치를 너무 낮게 설정하면 어떤 물체의 크기를 감소 시키거나 혹은 그 개수도 감소 시킬 수 있다.

반면 너무 높게 설정 할 경우 너무 많은 배경 정보를 포함 하게 할 수 있다.

따라서 문턱치를 알맞게 설정해야 하는데 그 러한 방법으로 Otsu방법이 있다.

Otzu’s method가 있다 (N. Otsu, “A threshold selection method from gray-level histograms,” IEEE Trans. Syst., Man, Cybern., vol. SMC-9, pp. 62-66, 1979).

Otsu의 이진화 방법은 임계값 T를 기준으로 영상 픽셀들을 두 클래스로 분류했을 때 두 클래스간의 intra-class variance를 최소화하거나 또는 inter-class variance를 최대화하는 T를 찾는 이진화 방법이다.

입력 영상에서 임계값 T보다 어두운 픽셀들의 비율을 α, 밝기 평균을 μ1, 분산을 σ12, T보다 밝은 픽셀들의 비율을 β, 밝기 평균을 μ2, 분산을 σ22라 했을 때 (α+β=1), intra-class 분산과 inter-class 분산은 각각 다음과 같이 계산된다.

intra-class variance = ασ12+βσ22 —- (1)

inter-class variance = αβ(μ1-μ2)2 —- (2)

식 (1)을 최소화시키는 것은 식 (2)를 최대화시키는 것과 동일하며 둘 중 어느 기준을 사용해도 무방하지만 계산상으로는 식 (2)를 최대화시키는 것이 효율적이다. 즉, Otsu의 이진화 알고리즘은 임계값 T를 0 부터 255까지 단계적으로 변화시키면서 식 (2)를 계산하고 식 (2)가 최대가 되는 T 값을 찾아서 영상을 이진화하는 방법이다.

엣지 검출

엣지는 영상에서 가장 유용한 정보를 포함 하고 있다. 영상에서 물체의 크기를 측정 하려고 할때 , 배역에서 특정 물체를 분리하려 할때 , 물체를 인식 또는 분류 하기 위해 엣지를 사용한다

엣지를 간략하게 서술 하면 주어진 문턱치를 초과하는 화소 값들의 국부적인 불연속으로 정의한다.

엣지와 배경의 화소 값들 사이는 분명한 차이가 있고 이것을 영상에서 구별할 수 있도록 하는 것이 엣지 검출이다.

몇가지 엣지 검출 필터

prewitt필터

수직 수평 엣지를 검출.

sobel 필터

prewitt 필터에에서 가운데 화소에 더 많은 비중을 둔 필터

Roberts 필터

대각선 검출을 하는 필터





위 필터들은 linear filter와 다르게 box filter를 이루는 숫자의 합이 1이 아니라 0인것을 확인할 수 있다.

그 이유는 가중평균을 구하는 linear filter과 다르게 주변 픽셀값들의 차이를 구하기 때문이다.

2차 도함수

라플라시안

양방향 2차 도함수의 합을 라플라시안 이라고 한다.

[0 1 0 ; 1 -4 1 ; 0 1 0]

장점 : 회전에 불변 즉, 라플라시안을 영상에 적용한 후에 회전을 시킨 것과 영상을 먼저 회전 시키고 라플라시안을 적용 시킨 결과는 같다.

문제점 : 2차 도함수의 필터는 잡음에 매우 민감하다.

0교차

엣지를 더 적절히 구하는 법 -> 라플라시안 필터링 후 영교차의 위치를 사용하여 엣지를 더욱더 정확히 구한다.

영교차 구하는 법.

1.화소가 음의 그레이 값을 가지고 있고 , 그레이 값이 양수인 화소에 직각으로 이웃 하면 영교차이다.

2.화사가 0의 값을 가지고 있고, 음과 양의 값을 가지는 화소 사이에 있으면 영교차 이다.

Marr-Hildreth방법

1.가우시안 필터로 영상을 스무싱 처리한다.

엣지 검출전 노이즈를 제거 하기 위해서 .

2.그 결과를 라플라시안 필터로 회선 처리 한다.

3.영 교차 화소들을 구한다.

처음의 두 단계는 하나로 합칠 수 있으며 그것이 바로 LOG (Laplacian of Gaussian)필터가 된다.

Canny엣지 검출기

캐니 엣지는 3가지 기준을 만족 하도록 고안 되었다.

1.낮은 검출 오류율 , 모든 엣지 검출해야 하며 엣지만을 검출해야 한다.

2.엣지의 위치, 영상에 있는 엣지와 알고리즘 사용후의 검출된 엣지 사이의 거리는 최소화 되어야 한다,

3.단일응답, 단지 하나의 엣지만 존재할 경우 이 알고리즘이 다중엣지 화소를 생성해서는 안된다.

단점 : 구현이 복잡하고 시간이 오래 걸린다. 실시간 영상 처리 에서는 임계 값이 처리된 기울기 방법을 이용한다,

허프변환

어떤 점이 주어졌다면, 그점을 기준으로 그점을 지나는 모든 직선의 방정식의 파라미터를 저장해놓고, 여러개의 점들에 대해 반복하여 파라미터의 빈도수를 누적함으로써 ,

같은 직선에 속하는 점들이 몇개나 있는지 검사하는 방법.

즉, 많은 점들이 직선상에 존재 한다면 , 파라미터를 이용하여 직선으로 표현하여 직선을 검출 하는 방법이다.

'영상처리 > 영상처리 기초' 카테고리의 다른 글

영상의 영역 분할  (0) 2014.12.11
영상복원(잡음 제거)  (0) 2014.12.11
기하학적 변환 및 퓨리에 트랜스폼  (0) 2014.12.10
영역 처리 단위  (0) 2014.12.10
영상디스플레이  (0) 2014.12.10
영상파일의 포맷  (0) 2014.12.08

Comment +0