텐서플로우

From Hidden Wiki
Jump to navigation Jump to search

[include(틀:프로젝트 문서,프로젝트=나무위키 인공지능 프로젝트)]

* 관련 항목 : 컴퓨터 관련 정보, 인공지능, 기계학습

[목차]

TensorFlow

개요

구글이 2011년에 개발을 시작하여 2015년에 오픈 소스로 공개한 기계학습 라이브러리. [사이트]

딥러닝기계학습 분야를 일반인들도 사용하기 쉽도록 다양한 기능들을 제공한다. 2016년 알파고와 함께 한국에서도 관심이 높아진 추세이며 관련 컨퍼런스들[* [[1]] [[2]]]이 개최되고 있다.

하이 레벨 프로그래밍 언어로 알려진 Python을 활용하여 연산처리를 작성할 수 있다. 다른 언어들도 대부분 지원하지만 Python 관련 자료가 가장 많다. 때문에 공개된 지 그리 오래되지 않았음에도 불구하고 텐서플로우가 다양한 분야에서 활용되고 있다.

특징

텐서플로우는 다음과 같은 특징을 가진다.

* 데이터 플로우 그래프를 통한 풍부한 표현력
* 아이디어 테스트에서 서비스 단계까지 이용 가능
* 계산 구조와 목표 함수만 정의하면 자동으로 미분 계산을 처리
* Python, C++, Go, Java, R[* R의 대표적인 통합개발환경(IDE)인 RStudio를 통해 연동되어 있다.]을 지원하며, SWIG를 통해 다양한 언어 지원 가능

코드 수정 없이 CPU/GPU 모드로 동작

공개된 버전은 일반 버전과 GPU 가속 버전 두 가지이다. 일반 버전은 어떤 컴퓨터에서든 실행할 수 있다는 장점이 있다. GPU 가속 버전은 GPGPU를 사용해 대량 연산을 빠르게 수행하므로 훨씬 빠르게 동작하게 된다. 현재 NVIDIA의 GPGPU 언어인 CUDA를 사용하기 때문에 NVIDIA 그래픽카드가 없으면 사용할 수 없다[* 로드맵에 범용 GPU가속 라이브러리, openCL을 지원할 예정이라고 발표했다]. GPU 가속 버전의 성능은 CPU 성능과는 별 관계가 없고 GPU 성능이 중요하다. 복잡한 프로그램을 몇 시간째 실행하는 와중에도 CPU 사용량은 절반 이하에 불과하다. CUDA 드라이버와 cuDNN 드라이버를 추가적으로 설치하여야 한다.

그 외에 구글이 자사 서비스를 위해 내부적으로 사용하고 있는 버전도 있는데, 이것은 구글이 자체개발한 AI 가속 하드웨어인 TPU(Tensor Processing Unit) 위에서 동작하기 때문에 인텔 제온이나 엔비디아 테슬라보다도 15~30배 더 빠르다.

관련 강좌 사이트 및 참조 사이트

* [교수의 딥러닝 강좌]
* [코리아]
* [Deep Learning]
* [[3]]
* [[4]]
* [번역]

응용 사례

* [위한 이미지 설명 프로그램]
* [만든 오이 품종 자동 분류 기계] 
* [만든 주식 시장 예측 프로그램][* [[5]]이니 관심있는 사람은 만들어보자. [PDF]]


Keras

케라스(Keras)는 TensorFlow, Theano, CNTK 등 딥 러닝 라이브러리를 포함하고 있어 쉽게 다층 퍼셉트론 신경망 모델, 컨볼루션 신경망 모델, 순환 신경망 모델, 조합 모델 등을 구성할 수 있다.

분류:기계 학습분류:라이브러리