in models.py [0:0]
def construct_weights(self, scope=''):
weights = {}
dtype = tf.float32
if FLAGS.cclass and FLAGS.dataset == "cifar10":
classes = 10
elif FLAGS.cclass and FLAGS.dataset == "imagenet":
classes = 1000
else:
classes = 1
with tf.variable_scope(scope):
# First block
init_conv_weight(weights, 'c1_pre', 3, self.channels, 128)
init_res_weight(weights, 'res_optim', 3, 128, self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_1', 3, self.dim_hidden, self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_2', 3, self.dim_hidden, self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_3', 3, self.dim_hidden, 2*self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_4', 3, 2*self.dim_hidden, 2*self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_5', 3, 2*self.dim_hidden, 2*self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_6', 3, 2*self.dim_hidden, 4*self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_7', 3, 4*self.dim_hidden, 4*self.dim_hidden, classes=classes)
init_res_weight(weights, 'res_8', 3, 4*self.dim_hidden, 4*self.dim_hidden, classes=classes)
init_fc_weight(weights, 'fc5', 4*self.dim_hidden , 1, spec_norm=False)
init_attention_weight(weights, 'atten', self.dim_hidden, self.dim_hidden / 2, trainable_gamma=True)
return weights