in supervised_reptile/models.py [0:0]
def __init__(self, num_classes, optimizer=DEFAULT_OPTIMIZER, **optim_kwargs):
self.input_ph = tf.placeholder(tf.float32, shape=(None, 84, 84, 3))
out = self.input_ph
for _ in range(4):
out = tf.layers.conv2d(out, 32, 3, padding='same')
out = tf.layers.batch_normalization(out, training=True)
out = tf.layers.max_pooling2d(out, 2, 2, padding='same')
out = tf.nn.relu(out)
out = tf.reshape(out, (-1, int(np.prod(out.get_shape()[1:]))))
self.logits = tf.layers.dense(out, num_classes)
self.label_ph = tf.placeholder(tf.int32, shape=(None,))
self.loss = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=self.label_ph,
logits=self.logits)
self.predictions = tf.argmax(self.logits, axis=-1)
self.minimize_op = optimizer(**optim_kwargs).minimize(self.loss)