이번에는 모델을 표현하기 위한 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 |