Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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 29 30
Tags
more
Archives
Today
Total
관리 메뉴

코딩세상

[딥러닝 기초] 2장 텐서플로우와 딥러닝 학습 방법 - 텐서플로우(TensorFlow) 본문

인공지능

[딥러닝 기초] 2장 텐서플로우와 딥러닝 학습 방법 - 텐서플로우(TensorFlow)

필륭 2023. 8. 31. 20:18

- 딥러닝 모델 구현을 위해 학습해야 할 분야

 

딥러닝 모델 구현을 위해 필요한 것

 

딥러닝 모델을 작성하기 위해서는 파이썬을 알고 있어야하며, 딥러닝 모델은 좋은 연산 장치에 따라 성능이 달라지므로 하드웨어에 대한 지식을 가지고 있어야하며 이러한 연산장치를 제어하기 위해서 C/C++을 알아야 하는 등 배울 것을이 너무 많습니다.

 

 

 

 

- 프레임워크를 통한 딥러닝 모델 구현

 

딥러닝 모델 구현이 가능한 프레임워크

 

우리가 직접 딥러닝 모델을 직접 구현하기에는 너무 복잡하기 때문에 딥러닝 모델의 학습과 추론을 위한 프로그램들이 현재는 많이 구현되어있습니다. 대부분 텐서플로, 파이토치에 대해 많이들 들어보셨을텐데, 우리는 이러한 프레임워크를 통해 딥러닝 모델을 쉽게 구현하고 사용할 수 있게 되었습니다.

 

 

 

- 프레임워크 선택하기

 

그러면 우리는 어떤 프레임워크를 사용하는 것이 가장 좋을까요?

 

프레임워크별 성장율

 

그에 대한 대답은 이 그래프를 통해 확인할 수 있습니다. 

2019년 그래프를 기준으로 가장 많이 사용되고, 빠른 성장율을 가진 프레임워크는 텐서플로우라는 것을 알 수 있습니다.

 

 

 

 

- 텐서플로우(TensorFlow)

 

그렇다면 텐서플로우는 어떤 프레임워크일까요?

 

텐서플로우 마크

 

텐서플로우(TensorFlow)는 구글리서치 산하의 딥러닝 팀인 구글브레인 팀 오픈 소스로 공개한 기계학습 라이브러리입니다. 기계학습 분야를 일반인들도 사용하기 쉽도록 다양한 기능들을 제공합니다.

따라서 우리는 기계학습 분야에서 유연하고, 효율적이며, 확장성있게  딥러닝 모델을 작성할 수 있으며, 대형 클러스터 컴퓨터부터 스마트폰까지 다양한 디바이스에서 동작합니다.

 

 

 

- 텐서(Tensor)

 

텐서플로우에서 텐서(Tensor)가 의미하는 것은 무엇일까요?

 

텐서에 대한 설명

 

딥러닝에서 텐서는 다차원 배열로 나타내는 데이터를 의미합니다.

[Tensor  = Multidimensional Arrays = Data]

 

 

 

- 플로우(Flow)

 

 

플로우는 데이터의 흐름을 의미합니다. 텐서플로우에서 계산은 데이터 플로우 그래프로 수행되며, 끄래프를 따라 데이터가 노드를 거쳐 흘러가면서 계산합니다.

 

 

 

- 텐서 + 플로우

 

따라서 텐서플로우(TensorFlow)는 아래의 그림을 통해 이해할 수 있습니다. 

 

텐서와 플로우

 

즉, 텐서플로우는 딥러닝에서 데이터를 의미하는 텐서(Tensor)와 데이터 플로우 그래프를 따라 연산이 수행되는 형태(Flow)의 합을 나타냅니다.

 

 

 

- 텐서플로우 version.1

 

텐서플로우는 현재 version.2가 나와 배포되고 사용되고 있으며, 그럼 이 전 텐서플로우와의 차이점은 어떤것이 있을까요?

 

TensorFlow version.1

 

아래의 코드처럼 텐서플로우 1.X 버전에서는 계산을 위해 그래프 및 세션(Session)의 생성이 필요했습니다. 

 

import tensorflow as tf

a = tf.constant(17.5)
b = tf.constant(5.0)
c = tf.add(a,b)

sess = tf.Session()
sess.run(c)
# 세션 적용 시 22.5 출력
# 세션 미 적용시 Tensor("Add_1:0", shape=(), dtype=float32) 출력

 

 

 

- 직관적인 인터페이스의 텐서플로우 version.2

 

TensorFlow version.2

 

2019년 9월부터 배포된 2.0버전 이후부터는 즉시 실행(Eager Execution)기능이 적용되었으며, 이를 통해 앞서 1.X버전에서 보았던 계산 그래프 및 별도의 세션 생성 없이도 실행 가능하게 변경되었습니다.

 

 

import tensorflow as tf

a = tf.constant(17.5)
b = tf.constant(5.0)
c = tf.add(a,b)

print(c)
# 세션을 적용하지 않아도 1.X 버전과는 다르게 c의 값이 출력 tf.Tensor(22.5, shape=(), dtype=float32)

 

 

 

 

 

 

 

# 출처

 

엘리스 AI 트랙 7기 - [강의자료] 텐서플로우와 딥러닝 학습 방법

Comments