TensorFlow

덤프버전 :

텐서플로
TensorFlow
파일:텐서플로우 로고.svg
개발
파일:구글 로고.svg
분류
라이브러리
개발 착수
2011년
출시
2015년 11월 9일
언어
Python, C++
버전
2.13.0
라이선스
아파치 2.0 오픈 소스 라이선스
링크
파일:홈페이지 아이콘.svg 공식 사이트
파일:홈페이지 아이콘.svg 블로그
파일:홈페이지 아이콘.svg 포럼

파일:유튜브 아이콘.svg 파일:GitHub 아이콘.svg[[파일:GitHub 아이콘 화이트.svg

파일:X Corp 아이콘(블랙).svg
파일:미디엄 아이콘.svg
1. 개요
2. 특징
2.1. 코드 수정 없이 CPU/GPU 모드로 동작
2.2. TensorFlow Lite
2.3. Keras
3. 관련 강좌 사이트 및 참조 사이트
4. 응용 사례
5. 관련 문서




1. 개요[편집]


구글리서치 산하의 딥러닝 팀인 구글브레인 팀[1]오픈 소스로 공개한 기계학습 라이브러리. 기계학습 분야를 일반인들도 사용하기 쉽도록 다양한 기능들을 제공한다. 2016년 알파고와 함께 한국에서도 관심이 높아진 추세이며 관련 컨퍼런스들도 개최되고 있다.

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


2. 특징[편집]


텐서플로는 다음과 같은 특징을 가진다.
  • 데이터플로 그래프를 통한 풍부한 표현력
  • 아이디어 테스트에서 서비스 단계까지 이용 가능
  • 계산 구조와 목표 함수만 정의하면 자동으로 미분 계산을 처리
  • Python, C++, Go, Java, R[2]을 지원하며, SWIG를 통해 다양한 언어 지원 가능


2.1. 코드 수정 없이 CPU/GPU 모드로 동작[편집]


공개된 버전은 일반 버전과 GPU 가속 버전 두 가지이다. 일반 버전은 어떤 컴퓨터에서든 실행할 수 있다는 장점이 있다.
GPU 가속 버전은 GPGPU를 사용해 대량 연산을 빠르게 수행하므로 훨씬 빠르게 동작하게 된다. 현재 NVIDIA의 GPGPU 언어인 CUDA를 사용하기 때문에 NVIDIA 그래픽카드가 없으면 사용할 수 없다. [3] GPU 가속 버전의 성능은 CPU 성능과는 별 관계가 없고 GPU 성능이 중요하다. CUDA 드라이버와 cuDNN 드라이버를 추가적으로 설치하여야 한다.

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

TensorFlow 2.0이 출시되면서 CPU 버전과 GPU 버전이 통합되었다. CUDA 환경 설치가 올바르게 되었다면 자동으로 GPU를 인식해준다.


2.2. TensorFlow Lite[편집]


TensorFlow로 훈련한 모델을 안드로이드나 iOS, 또는 더 작은 라즈베리 파이 같은 거에다가 사용할 수 있게 변환하는 기술이다. 안드로이드의 경우, 이 .tflite 파일을 직접 넣을 수도 있으며 MLKit등을 활용해 좀 더 쉽게 적용할 수 있다. 예를 들어 이미지 분류 문제를 위해 ResNet50을 훈련했다면, model 에 해당 tflite 파일을 설정하고, 이미지를 1*224*224*3 사이즈의 비트맵으로 변환한 후 각 RGB 값에 255를 나눠서 preprocess하면 된다. 그 다음, 이 파일을 모델에 input하면 각 label 별로 예측한 확률의 array가 나오는데, 여기다가 argmax 같은 함수를 사용해서 prediction 결과를 뽑을 수 있다.

자세한건 TfLite 공식 문서와 MLKit 문서를 참조.


2.3. Keras[편집]


공식 사이트

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

2017년, 구글은 TensorFlow 2.0부터는 코어 레벨에서 Keras를 지원하도록 변경하겠다고 발표하였고, 현재 발표된 TensorFlow 2.0 stable부터는 사실상 전부 Keras를 통해서만 동작하도록 바뀌었다. 사용자용 튜토리얼 페이지 1.15부터 deprecated 목록에 들어가 있던 자잘한 API가 대부분 정리되었고, 익숙되면 조금 더 편하게 사용할 수 있게 변했다. 하지만 그동안 익숙하게 사용해 왔던 모델을 만든 다음 session을 만들어 동작하는 구조에 익숙하던 사람들에게 멘붕을 준 것은 덤.


3. 관련 강좌 사이트 및 참조 사이트[편집]




4. 응용 사례[편집]


  • 오이 품종 자동 분류 기계
  • 주식 시장 예측 프로그램[4]
  • 이루다(인공지능)에도 응용되었다. 핑퐁팀 블로그

이것들은 간단 예제 수준이고, 전문 지식이 결합되면 훨씬 더 많은 일들을 할 수 있다. 딥러닝은 아직 학문적 체계가 정립되지 않았기 때문에, 각종 사례를 찾아보는 것 만큼이나 직접 만들어보는 게 더 빠르다.


5. 관련 문서[편집]




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-04 03:30:38에 나무위키 TensorFlow 문서에서 가져왔습니다.

[1] 2023년, 구글 딥마인드 산하로 통폐합되었다.[2] R의 대표적인 통합개발환경(IDE)인 RStudio를 통해 연동되어 있다.[3] 로드맵에 범용 GPU 가속 라이브러리, OpenCL을 지원할 예정이라고 발표했다.[4] 무료강좌이니 관심있는 사람은 만들어보자. 교재 PDF