21. TF2 API

j_hyun11·2022년 1월 28일
0

FUNDAMENTAL

목록 보기
6/11

TensorFlow2 API로 모델 구성하기

Sequential

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential()
model.add(__넣고싶은 레이어__)
model.add(__넣고싶은 레이어__)
model.add(__넣고싶은 레이어__)

model.fit(x, y, epochs=10, batch_size=32)
  • 입력 1가지, 출력 1가지 방식 -> 입출력이 여러 개인 경우 적합하지 않은 모델

Functional

import tensorflow as tf
from tensorflow import keras

inputs = keras.Input(shape=(__원하는 입력값 모양__))
x = keras.layers.__넣고싶은 레이어__(관련 파라미터)(input)
x = keras.layers.__넣고싶은 레이어__(관련 파라미터)(x)
outputs = keras.layers.__넣고싶은 레이어__(관련 파라미터)(x)

model = keras.Model(inputs=inputs, outputs=outputs)
model.fit(x,y, epochs=10, batch_size=32)
  • keras.Model을 사용
  • 입력과 출력을 규정함으로써 모델 전체를 규정 -> 더 자유로운 모델링 진행 가능
  • 다중 입력, 출력을 가지는 모델을 구성

Model Subclassing

import tensorflow as tf
from tensorflow import keras

class CustomModel(keras.Model):
    def __init__(self):
        super(CustomModel, self).__init__()
        self.__정의하고자 하는 레이어__()
        self.__정의하고자 하는 레이어__()
        self.__정의하고자 하는 레이어__()
    
    def call(self, x):
        x = self.__정의하고자 하는 레이어__(x)
        x = self.__정의하고자 하는 레이어__(x)
        x = self.__정의하고자 하는 레이어__(x)
        
        return x
    
model = CustomModel()
model.fit(x,y, epochs=10, batch_size=32)
  • keras.Model을 상속받은 모델 클래스를 만드는 방식
  • 제일 자유로운 모델링 진행 가능

0개의 댓글