일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준 9019
- 코테
- 최단거리
- 백준
- 스택
- 패스트캠퍼스후기
- 파이썬
- 딥러닝 바이블 후기
- 해쉬
- 코딩테스트
- 백준 학교 탐방하기
- 직장인인강
- 온풍기 안녕!
- 문자열
- 백준 23289
- 파이썬 기초부터 시작하는 딥러닝 영상인식 바이블 Online 강의
- 삼성 코테
- 직장인자기계발
- MST
- 백준 3차원 막대기 연결하기
- 파이썬 기초부터 시작하는 딥러닝 영상인식 바이블 Online 강의 후기
- 패캠챌린지
- Python
- 직장인인간
- 백트래킹
- 백준 19950
- 패스트캠퍼스
- 그리디
- 삼성
- 프로그래머스
- Today
- Total
programmingu
패스트캠퍼스 챌린지 2일차 - Tensorflow 소개 본문
파이썬 기초부터 시작하는 딥러닝 영상인식 바이블 Online 강의 챌린지 2일차이다.
Tensorflow는 pytorch와 함께 딥러닝에서 대표적으로 쓰이는 라이브러리이다.
학생 때 프로젝트를 하면서 몇번 써보긴 했는데 이를 강의로 듣게 되는 것은 거의 처음이다.
교수님의 강의와 더불어 나도 조금 더 찾아보고 정리해 보았다.
Chap01 - 개요
1.1 텐서플로 란?
텐서플로(TensorFlow)는 구글(Google)에서 만든, 딥러닝 프로그램을 쉽게 구현할 수 있도록 다양한 기능을 제공해주는 라이브러리다.
텐서플로 자체는 기본적으로 C++로 구현 되어 있으며, 아래의 그림과 같이 Python, Java, Go 등 다양한 언어를 지원한다. 하지만, 파이썬을 최우선으로 지원하며 대부분의 편한 기능들이 파이썬 라이브러리로만 구현되어 있어 Python에서 개발하는 것이 편하다.
출처: tensorflow.org
또한, 브라우저에서 실행가능한 시각화 도우인 텐서보드(TensorBoard)를 제공하여, 딥러닝 학습 과정을 추적하는데 유용하게 사용된다.
1.2 텐서플로의 의미
TensorFlow에서 Tensor(텐서)란 딥러닝에서 데이터를 표현하는 방식이라고 할 수 있다. 즉, 텐서는 행렬로 표현할 수 있는 2차원 형태의 배열을 높은 차원으로 확장한 다차원 배열이다. 예를 들어, 아래의 그림에서 볼 수 있듯이 회색조(grayscale) 이미지는 하나의 채널(channel)에 2차원 행렬(배열)로 나타낼 수 있다. 반면, RGB 이미지는 R(ed), G(reen), B(lue) 각 3개의 채널마다 2차원 행렬(배열)로 표현하는데, 이를 텐서(3차원의 값을 가지는 배열)로 표현할 수 있다.
TenorFlow에서 계산은 데이터 흐름 그래프(dataflow graph)로 이루어 진다. 즉, 텐서 형태의 데이터들이 딥러닝 모델을 구성하는 연산들의 그래프를 따라 흐르면서 연산이 일어난다.
따라서, 딥러닝에서 데이터를 의미하는 Tensor 와 DataFlow Graph를 따라 연산이 수행되는 형태(Flow)를 합쳐 TensorFlow 란 이름이 나오게 되었다.
1.3 텐서플로 추상화 및 사전 학습된 모델
텐서플로에서는 Keras나 TF-Slim 과 같은 추상화 라이브러리를 제공하여 저수준 텐서플로 라이브러리에 대해 손쉽게 고수준 접근이 가능하게 해준다. 이를 이용하여 간단하게 딥러닝 모델을 구현할 수 있다.
또한, 아래의 그림처럼 텐서플로는 사전에 학습된 모델들을 제공해준다. 이러한 모델을 사용자들이 단 몇줄의 코드로 구현할 수 있으며, 새롭게 학습을 할 필요 없이 바로 실무에 적용할 수 있고, 새로운 데이터에 맞게 모델을 조정할 수도 있다.
수강 인증샷!!