MCPcopy Create free account
hub / github.com/MingchaoZhu/DeepLearning / DFN

Class DFN

code/chapter6.py:277–410  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275
276
277class DFN(object):
278
279 def __init__(
280 self,
281 hidden_dims_1=None,
282 hidden_dims_2=None,
283 optimizer="sgd(lr=0.01)",
284 init_w="std_normal",
285 loss=CrossEntropy()
286 ):
287 self.optimizer = optimizer
288 self.init_w = init_w
289 self.loss = loss
290 self.hidden_dims_1 = hidden_dims_1
291 self.hidden_dims_2 = hidden_dims_2
292 self.is_initialized = False
293
294 def _set_params(self):
295 """
296 函数作用:模型初始化
297 FC1 -> Sigmoid -> FC2 -> Softmax
298 """
299 self.layers = OrderedDict()
300 self.layers["FC1"] = FullyConnected(
301 n_out=self.hidden_dims_1,
302 acti_fn="sigmoid",
303 init_w=self.init_w,
304 optimizer=self.optimizer
305 )
306 self.layers["FC2"] = FullyConnected(
307 n_out=self.hidden_dims_2,
308 acti_fn="affine(slope=1, intercept=0)",
309 init_w=self.init_w,
310 optimizer=self.optimizer
311 )
312 self.is_initialized = True
313
314 def forward(self, X_train):
315 Xs = {}
316 out = X_train
317 for k, v in self.layers.items():
318 Xs[k] = out
319 out = v.forward(out)
320 return out, Xs
321
322 def backward(self, grad):
323 dXs = {}
324 out = grad
325 for k, v in reversed(list(self.layers.items())):
326 dXs[k] = out
327 out = v.backward(out)
328 return out, dXs
329
330 def update(self):
331 """
332 函数作用:梯度更新
333 """
334 for k, v in reversed(list(self.layers.items())):

Callers 1

fitMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected