본문 바로가기
스터디 공간

[Tensorflow Study] Tensorflow 2.x / 2.0 (1) - Basic Concept

by 재스민맛 2021. 3. 15.
반응형

Deep Learning with TensorFlow 2 and Keras

본문 내용은 해당 책의 내용을 보고 작성하였습니다.

요즘에 처음부터 다시 보고 있는 책입니다. 정말 좋은 내용이 많고 알기 쉽게 서술해 놓은 것 같습니다. Tensorflow 2.x 을 사용중이시거나 공부중이시라면 보면 정말 좋을 것 같습니다.

 

 TensorFlow?

 - Open Source software library developed by Google / 구글이 개발한 오픈소스 소프트웨어 라이브러리

 - Support commonly used NN architecture (RNN, CNN etc)

 - 여러가지 딥러닝 프레임 워크 중 인기있는 프레임워크 입니다.

 

 여러가지 프레임 워크

 - 딥러닝 프레임워크란? 

검증이 된 딥러닝 알고리즘을 제공해주는 패키지입니다.

1) Theano -> 전 써본적이 없네요

theano

2) Tensorflow (텐서 플로우)

가장 인기가 좋은 프레임워크입니다.

2.X Version이 되면서 고수준 API인 Keras와 통합이 되며 직관적이고 손쉽게 사용이 가능합니다.

Tensorflow

3) keras

High level neural network API that has been interated with Tensorflow 2.x.

Tensorflow 2.0 버전으로 가면서 텐서플로우에서 keras의 기능을 사용할 수 있습니다.

tf.keras로 불러올 수 있습니다.

keras

그 밖에 torch(토치, pytorch의 토치), DL4J(DeepLearning4J) 등 여러가지 딥러닝 프레임워크가 있습니다.

 

■ What is the Tensor?

A Tensor is basically an n-dimensional array. All types of data - scalar, vector, and matrics - are special types of tensors.

모든 차원 array는 텐서(Tensor)입니다. 

 

 Tensorflow 1.x vs. Tensorflow 2.x

tf 1.x : low level API -> tf 2.x : High level API

Learning models are created as easily as "putting LEGO bricks", where each is a special keras.

1.x 버전에서, 2.x 버전으로 가면서, 고수준의 API인 keras가 통합되면서 굉장히 직관적으로 변했고 사용하기 쉬워졌습니다.

 

tf.keras offers a higher API, 3 programming models (keras APIs - three programming models)

1) Sequential API : 기본적으로 사용하는 Sequential API입니다.

 

2) Functional API : 함수 형태로 기본적으로 자주 사용하는 Sequential의 형태보다 복잡한 토폴로지에서 유용하게 사용이 가능하다고 합니다. (저는 Sequential이 너무 손에 익어서 잘 사용은 안하는데 그렇다고 합니다.)

 

3) Model Subclassing : model을 정의할 때, class로 정의하여 상속받는 형태의 API입니다.

아래의 형태처럼 class로 model을 정의할 수 있습니다.

해당 모델을, model = Linear()의 형태로 한번에 받아서 사용할 수 있습니다.

python의 클래스(class)를 사용해보신 분께서는 __init__은 아실 것이고, call은 해당 클래스가 호출될 때 자동으로 빌드하는 역할을 합니다.

https://www.tensorflow.org/guide/keras/custom_layers_and_models?hl=ko

 

다음 번에는 기본적으로 사용되는 compile의 loss 함수와 metrics(성능 지표)에 대해서 자세하게 풀어보겠습니다.

반응형

댓글