diff --git a/bob/learn/tensorflow/network/LightCNN29.py b/bob/learn/tensorflow/network/LightCNN29.py index af030802dbefb41c25c584bdab164ad7ba2d5a69..dc5bba689cbf28ecdbc918ff1be49a5f0997f249 100755 --- a/bob/learn/tensorflow/network/LightCNN29.py +++ b/bob/learn/tensorflow/network/LightCNN29.py @@ -1,7 +1,6 @@ #!/usr/bin/env python # vim: set fileencoding=utf-8 : # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch> -# @date: Wed 11 May 2016 09:39:36 CEST import tensorflow as tf from bob.learn.tensorflow.layers import maxout diff --git a/bob/learn/tensorflow/network/LightCNN9.py b/bob/learn/tensorflow/network/LightCNN9.py index 2eada46fd9111494e7423877c0b5915c8343aa1d..296e5e6e25d8fbaf70cee09821cfc98bcb4ab726 100755 --- a/bob/learn/tensorflow/network/LightCNN9.py +++ b/bob/learn/tensorflow/network/LightCNN9.py @@ -1,30 +1,21 @@ #!/usr/bin/env python # vim: set fileencoding=utf-8 : # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch> -# @date: Wed 11 May 2016 09:39:36 CEST import tensorflow as tf from bob.learn.tensorflow.layers import maxout from .utils import append_logits -class LightCNN9(object): +def light_cnn9(inputs, seed=10, reuse=False): """Creates the graph for the Light CNN-9 in Wu, Xiang, et al. "A light CNN for deep face representation with noisy labels." arXiv preprint arXiv:1511.02683 (2015). """ - def __init__(self, - seed=10, - n_classes=10): + slim = tf.contrib.slim - self.seed = seed - self.n_classes = n_classes + with tf.variable_scope('LightCNN9', reuse=reuse): - def __call__(self, inputs, reuse=False, get_class_layer=True, end_point="logits"): - slim = tf.contrib.slim - - #with tf.device(self.device): - - initializer = tf.contrib.layers.xavier_initializer(uniform=False, dtype=tf.float32, seed=self.seed) + initializer = tf.contrib.layers.xavier_initializer(uniform=False, dtype=tf.float32, seed=seed) end_points = dict() graph = slim.conv2d(inputs, 96, [5, 5], activation_fn=tf.nn.relu, @@ -141,24 +132,14 @@ class LightCNN9(object): graph = slim.flatten(graph, scope='flatten1') end_points['flatten1'] = graph - graph = slim.dropout(graph, keep_prob=0.3, scope='dropout1') + graph = slim.dropout(graph, keep_prob=0.5, scope='dropout1') - graph = slim.fully_connected(graph, 512, + prelogits = slim.fully_connected(graph, 512, weights_initializer=initializer, activation_fn=tf.nn.relu, scope='fc1', reuse=reuse) - end_points['fc1'] = graph - #graph = maxout(graph, - # num_units=256, - # name='Maxoutfc1') - - graph = slim.dropout(graph, keep_prob=0.3, scope='dropout2') - - if self.n_classes is not None: - # Appending the logits layer - graph = append_logits(graph, self.n_classes, reuse) - end_points['logits'] = graph + end_points['fc1'] = prelogits - return end_points[end_point] + return prelogits, end_points diff --git a/bob/learn/tensorflow/network/__init__.py b/bob/learn/tensorflow/network/__init__.py index 68ed993e3cf731342f1946fdbeedadbada00af6e..ec2b64e6e7111eefd2a1144befd60a0c2f0a1a4c 100755 --- a/bob/learn/tensorflow/network/__init__.py +++ b/bob/learn/tensorflow/network/__init__.py @@ -1,5 +1,5 @@ from .Chopra import chopra -from .LightCNN9 import LightCNN9 +from .LightCNN9 import light_cnn9 from .LightCNN29 import LightCNN29 from .Dummy import Dummy from .MLP import MLP @@ -24,7 +24,7 @@ def __appropriate__(*args): __appropriate__( Chopra, - LightCNN9, + light_cnn9, Dummy, MLP, ) diff --git a/bob/learn/tensorflow/test/test_cnn_other_losses.py b/bob/learn/tensorflow/test/test_cnn_other_losses.py index dfcbc34eaa6adbc31f9e05504f08a01c22ef69df..f40a6d90e62e9f84800ea4b7d2f498f075eaee92 100755 --- a/bob/learn/tensorflow/test/test_cnn_other_losses.py +++ b/bob/learn/tensorflow/test/test_cnn_other_losses.py @@ -120,7 +120,7 @@ def test_center_loss_tfrecord_embedding_validation(): prelogits=prelogits ) trainer.train() - + assert True tf.reset_default_graph() del trainer diff --git a/bob/learn/tensorflow/trainers/Trainer.py b/bob/learn/tensorflow/trainers/Trainer.py index 25c660e8423df5bb233682620c9686c7304c00e1..733561ea3d9d03295e3683d27d99522549a507b3 100755 --- a/bob/learn/tensorflow/trainers/Trainer.py +++ b/bob/learn/tensorflow/trainers/Trainer.py @@ -483,8 +483,8 @@ class Trainer(object): # Appending histograms for each trainable variables #for var in tf.trainable_variables(): - for var in tf.global_variables(): - tf.summary.histogram(var.op.name, var) + #for var in tf.global_variables(): + # tf.summary.histogram(var.op.name, var) # Train summary tf.summary.scalar('loss', average_loss)