본문 바로가기

딥러닝/컴퓨터 비전

[컴퓨터 비전] 개발 환경 설정

반응형
t

vision

내가 설정한 환경은 다음과 같다

Unbuntu LTS 18.04

파이썬 패키지 설치

apt-get install python3-pip

sudo pip3 install numpy scipy scikit-learn pillow h5py
  • numpy : 수학 연산 패키지로 행렬 연산은 속도를 위해 고도로 최저고하 되어있다.
  • scipy : 과학 및 공학 연산을 위한 패키지
  • scikit-learn : 머신 러닝 라이브러리
  • pillow : 이미지 로딩과 기본적인 연산 지원
  • h6py : HDF5 바이너리 데이터 포맷을 위한 파이썬 인터페이스. 이것은 케라스를 이요하여 훈련된 모델을 저장하는 포맷이다.

openCV 설치

sudo apt-get install python-opencv

텐서플로 설치

sudo pip3 install tensorflow

# GPU 사용 및 CUDA와 CUDNN을 설치했다면 PUG 버전 설치
sudo pip3 install tensorflow-gpu

텐서플로 실습

import tensorflow as tf

# 'Hello, TensorFlow'를 상수로 정의
hello = tf.constant('Hello, TensorFlow!')

# 연산 그래프를 초기화하기 위해 세션을 생성
session = tf.Session()

# 세션은 변수 hello를 매개로 입력받아 실행
print(session.run(hello))

숫자 더하기 예제

import tensorflow as tf

# 플레이스 홀더 정의
x = tf.placeholder(tf.float32);
y = tf.placeholder(tf.float32);

# 합 연산 정의
z = x + y;

# 세션 생성
session = tf.Session()

# 딕셔너리 포맷으로 프레이스 홀더의 값을 정의
values = { x : 5.0, y : 4.0 }

# 겴을 계산
result = session.run([z], values)
print(result)

이와 같은 방법으로 대규모 연산을 동일한 API을 이용해 쉽게 수행할 수 있다.

텐서보드

텐서보드는 텐서플로를 사용한 딥러닝 기반 모델 학습을 위한 시각화 도구 세트이다.

  • 그래프 : 연산 그래프, 디바이스 위치, 텐서 정보
  • 스칼라 : 반복 중 발생하는 손실 및 정확도와 같은 측정 항목
  • 이미지 : 해당 레이블이 있는 이미지를 확인하기 위해 사용
  • 오디오 : 학습된 또는 생성된 오디오를 듣기 위해 사용
  • 분포 : 일부 스칼라의 분포를 확인하기 위해 사용
  • 히스토그램 : 가중치 및 편향의 히스토그램 포함
  • 프로젝터 : 데이터를 3차원 공간에서 시각화
  • 텍스트 : 학습 텍스트 데이터 출력
  • 프로파일 : 학습에 사용되는 하드웨어 리소스 확인

텐서보드는 텐서플로아ㅗ 함꼐 설치ㅗ딘다. 텐서보드 사용을 시작하기 위해 이전 예제ㅐ 코드를 다음과 수정 한다.

x = tf.placeholder(tf.float32, naem='x')
y = tf.placeholder(tf.float32, naem='y')
z = tf.add(x, y, name='sum')

...

session = tf.Session()
summary_writer = tf.summary.FileWriter('/tmp/1', session.graph)

그리고 다음 명령을 실행하여 텐서보드를 호출한다.

tensorboard --logdir=/tmp/1

터미널에서 실행한 모습

ter

localhost:6006에 접속해본다.

localhost

플레이스 홀더를 클리갛여 해당 연산에 대한 텐서의 모든 세부 사항들을 확인할 수 있다. 텐서보드는 텐서플로에서 가장 뛰어난 도구 중 하나이며 그 어떤 딥러닝 프레임워크보다도 훌륭하다.

케라스 라이브러리

케라스는 파이썬으로 작성된 딥러닝을 위한 오픈소스 라이브러리다. 케라스는 텐서플로를 백엔드로 사용할 수 있도록 쉬운 인터페이스를 제공한다. 모듈성과 확장성에 초점을 맞춰 설계되어 쉽고 빠른 작업에 적합하다. 케라스만 따로 설치해 사용할 수도 있지만 텐서플로 안에서 tf.keras API를 이용해 사용할 수도 있다.

반응형

'딥러닝 > 컴퓨터 비전' 카테고리의 다른 글

[컴퓨터 비전] Tensorflow 기본 문법  (0) 2019.05.20
[컴퓨터 비전] MNIST 실습  (0) 2019.05.12
[컴퓨터 비전] 딥러닝  (0) 2019.05.11