2 import chainer.functions
as F
3 import chainer.initializers
as I
4 import chainer.links
as L
9 class NIN(chainer.Chain):
11 """Network-in-Network example model."""
17 conv_init = I.HeNormal()
20 with self.init_scope():
22 None, (96, 96, 96), 11, stride=4, conv_init=conv_init)
24 None, (256, 256, 256), 5, pad=2, conv_init=conv_init)
26 None, (384, 384, 384), 3, pad=1, conv_init=conv_init)
28 None, (1024, 1024, self.
n_class), 3, pad=1, conv_init=conv_init)
31 h = F.max_pooling_2d(F.relu(self.
mlpconv1(x)), 3, stride=2)
32 h = F.max_pooling_2d(F.relu(self.
mlpconv2(h)), 3, stride=2)
33 h = F.max_pooling_2d(F.relu(self.
mlpconv3(h)), 3, stride=2)
35 h = F.reshape(F.average_pooling_2d(h, 6), (len(x), self.
n_class))
40 assert not chainer.config.train
43 self.
loss = F.softmax_cross_entropy(h, t)
46 chainer.report({
'loss': self.
loss,
'accuracy': self.
acc}, self)