Deep learning/모델 구현

36. Model 클래스

jwjwvison 2021. 10. 23. 20:20

 이번에는 모델을 표현하기 위한 Model 클래스를 새로 만든다. Model 클래스는 Layer 클래스의 기능을 이어받으며 시각화 메서드가 하나 추가된다.

from dezero import Layer
from dezero import utils
import dezero.functions as F
import dezero.layers as L

class Model(Layer):
    def plot(self,*inputs,to_file='model.png'):
        y=self.forward(*inputs)
        return utils.plot_dot_graph(y,verbose=True,to_file=to_file)

 

 이제 다음과 같은 코드를 작성할 수 있다.

 

  • MLP 클래스
    class MLP(Model):
        def __init__(self, fc_output_sizes, activation=F.sigmoid):
            super().__init__()
            self.activation = activation
            self.layers = []
    
            for i, out_size in enumerate(fc_output_sizes):
                layer = L.Linear(out_size)
                setattr(self, 'l' + str(i), layer)
                self.layers.append(layer)
    
        def forward(self, x):
            for l in self.layers[:-1]:
                x = self.activation(l(x))
            return self.layers[-1](x)​

'Deep learning > 모델 구현' 카테고리의 다른 글

파인튜닝 구현  (0) 2021.11.20
37. Optimizer 로 수행하는 매개변수 갱신  (0) 2021.10.23
35. 매개변수를 모아두는 계층  (0) 2021.10.17
34. 신경망  (0) 2021.10.17
33. 형상 변환 함수, 합계 함수  (0) 2021.10.16