Home [Tensorflow] Subclassing Model
Post
Cancel

[Tensorflow] Subclassing Model

서브클래싱(Subclassing)

  • 커스터마이징에 최적화된 방법
  • Model 클래스를 상속받아 Model이 포함하는 기능을 사용할 수 있음
    • fit(), evaluate(), predict()
    • save(), load()
  • 주로 call() 메소드 안에서 원하는 계산 가능
  • 권장되는 방법은 아니지만 모델의 구현 코드를 참고할 때 해석할 수 있어야 함
1
2
3
from tensorflow.keras.layers import Dense, Activation, Flatten, Input
from tensorflow.keras.models import Sequential, Model
from tensorflow.keras.layers import Concatenate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyModel(Model):
    def __init__(self, units=30, activation='relu', **kwargs):
        super(MyModel, self).__init__(**kwargs)
        self.dense_layer1 = Dense(units=300, activation=activation)
        self.dense_layer2 = Dense(units=100, activation=activation)
        self.dense_layer3 = Dense(units=units, activation=activation)
        self.output_layer = Dense(units=10, activation='softmax')

    def call(self, inputs):
        x = self.dense_layer1(inputs)
        x = self.dense_layer2(x)
        x = self.dense_layer3(x)
        x = self.output_layer(x)
        return x
This post is licensed under CC BY 4.0 by the author.