From b2ee7d5c10616680cec1bf5f3361502a92e15099 Mon Sep 17 00:00:00 2001
From: Amir MOHAMMADI <amir.mohammadi@idiap.ch>
Date: Thu, 25 Mar 2021 17:39:53 +0100
Subject: [PATCH] [pre-commit] fix pre-commit complaints

---
 bob/learn/tensorflow/layers.py                | 21 +++++++------------
 bob/learn/tensorflow/models/__init__.py       |  7 +++++--
 bob/learn/tensorflow/models/arcface.py        | 16 +++++++-------
 .../tensorflow/models/embedding_validation.py |  7 ++++---
 bob/learn/tensorflow/tests/test_arcface.py    | 16 +++++---------
 5 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/bob/learn/tensorflow/layers.py b/bob/learn/tensorflow/layers.py
index ba63ca95..e15d36e5 100644
--- a/bob/learn/tensorflow/layers.py
+++ b/bob/learn/tensorflow/layers.py
@@ -1,7 +1,11 @@
+import math
 import numbers
 
 import tensorflow as tf
-import math
+from tensorflow.keras.layers import BatchNormalization
+from tensorflow.keras.layers import Dense
+from tensorflow.keras.layers import Dropout
+from tensorflow.keras.layers import GlobalAvgPool2D
 
 
 def _check_input(
@@ -164,7 +168,7 @@ def Normalize(mean, std=1.0, **kwargs):
 
 
 class SphereFaceLayer(tf.keras.layers.Layer):
-    """
+    r"""
     Implements the SphereFace loss from equation (7) of `SphereFace: Deep Hypersphere Embedding for Face Recognition <https://arxiv.org/abs/1704.08063>`_
 
     If the parameter `original` is set to `True` it will computes exactly what's written in eq (7): :math:`\\text{soft}(x_i) = \\frac{exp(||x_i||\\text{cos}(\\psi(\\theta_{yi})))}{exp(||x_i||\\text{cos}(\\psi(\\theta_{yi}))) + \sum_{j;j\\neq yi}  exp(||x_i||\\text{cos}(\psi(\\theta_{j}))) }`.
@@ -178,7 +182,7 @@ class SphereFaceLayer(tf.keras.layers.Layer):
 
       m: float
          Margin
-            
+
     """
 
     def __init__(self, n_classes=10, m=0.5):
@@ -227,7 +231,7 @@ class ModifiedSoftMaxLayer(tf.keras.layers.Layer):
 
     Parameters
     ----------
-    
+
     n_classes: int
         Number of classes for the new logit function
     """
@@ -256,15 +260,6 @@ class ModifiedSoftMaxLayer(tf.keras.layers.Layer):
         return logits
 
 
-from tensorflow.keras.layers import (
-    BatchNormalization,
-    Dropout,
-    Dense,
-    Concatenate,
-    GlobalAvgPool2D,
-)
-
-
 def add_bottleneck(model, bottleneck_size=128, dropout_rate=0.2):
     """
     Amend a bottleneck layer to a Keras Model
diff --git a/bob/learn/tensorflow/models/__init__.py b/bob/learn/tensorflow/models/__init__.py
index b5cd87bf..4265c99d 100644
--- a/bob/learn/tensorflow/models/__init__.py
+++ b/bob/learn/tensorflow/models/__init__.py
@@ -1,10 +1,13 @@
 from .alexnet import AlexNet_simplified
+from .arcface import ArcFaceLayer
+from .arcface import ArcFaceLayer3Penalties
+from .arcface import ArcFaceModel
 from .densenet import DeepPixBiS
 from .densenet import DenseNet
 from .densenet import densenet161  # noqa: F401
-from .mine import MineModel
 from .embedding_validation import EmbeddingValidation
-from .arcface import ArcFaceLayer, ArcFaceLayer3Penalties, ArcFaceModel
+from .mine import MineModel
+
 
 # gets sphinx autodoc done right - don't remove it
 def __appropriate__(*args):
diff --git a/bob/learn/tensorflow/models/arcface.py b/bob/learn/tensorflow/models/arcface.py
index 59f8ff68..8bbb7a7d 100644
--- a/bob/learn/tensorflow/models/arcface.py
+++ b/bob/learn/tensorflow/models/arcface.py
@@ -1,7 +1,10 @@
+import math
+
 import tensorflow as tf
-from .embedding_validation import EmbeddingValidation
+
 from bob.learn.tensorflow.metrics.embedding_accuracy import accuracy_from_embeddings
-import math
+
+from .embedding_validation import EmbeddingValidation
 
 
 class ArcFaceModel(EmbeddingValidation):
@@ -48,10 +51,10 @@ class ArcFaceLayer(tf.keras.layers.Layer):
         Number of classes
 
       m: float
-         Margin  
+         Margin
 
       s: int
-         Scale  
+         Scale
     """
 
     def __init__(self, n_classes=10, s=30, m=0.5):
@@ -102,9 +105,9 @@ class ArcFaceLayer(tf.keras.layers.Layer):
 class ArcFaceLayer3Penalties(tf.keras.layers.Layer):
     """
     Implements the ArcFace loss from equation (4) of `ArcFace: Additive Angular Margin Loss for Deep Face Recognition <https://arxiv.org/abs/1801.07698>`_
-    
+
     Defined as:
-    
+
       :math:`s(cos(m_1\\theta_i + m_2) -m_3`
     """
 
@@ -148,4 +151,3 @@ class ArcFaceLayer3Penalties(tf.keras.layers.Layer):
         logits = self.s * logits
 
         return logits
-
diff --git a/bob/learn/tensorflow/models/embedding_validation.py b/bob/learn/tensorflow/models/embedding_validation.py
index 701f3084..be342d1f 100644
--- a/bob/learn/tensorflow/models/embedding_validation.py
+++ b/bob/learn/tensorflow/models/embedding_validation.py
@@ -1,16 +1,18 @@
 import tensorflow as tf
+
 from bob.learn.tensorflow.metrics.embedding_accuracy import accuracy_from_embeddings
 
 
 class EmbeddingValidation(tf.keras.Model):
     """
     Use this model if the validation step should validate the accuracy with respect to embeddings.
-    
+
     In this model, the `test_step` runs the function `bob.learn.tensorflow.metrics.embedding_accuracy.accuracy_from_embeddings`
     """
 
     def compile(
-        self, **kwargs,
+        self,
+        **kwargs,
     ):
         """
         Compile
@@ -29,7 +31,6 @@ class EmbeddingValidation(tf.keras.Model):
             logits, _ = self(X, training=True)
             loss = self.loss(y, logits)
 
-        trainable_vars = self.trainable_variables
         self.optimizer.minimize(loss, self.trainable_variables, tape=tape)
 
         self.compiled_metrics.update_state(y, logits, sample_weight=None)
diff --git a/bob/learn/tensorflow/tests/test_arcface.py b/bob/learn/tensorflow/tests/test_arcface.py
index ac915200..4ebfe63e 100644
--- a/bob/learn/tensorflow/tests/test_arcface.py
+++ b/bob/learn/tensorflow/tests/test_arcface.py
@@ -1,16 +1,10 @@
-from bob.learn.tensorflow.models import (
-    EmbeddingValidation,
-    ArcFaceLayer,
-    ArcFaceModel,
-    ArcFaceLayer3Penalties,
-)
-from bob.learn.tensorflow.layers import (
-    SphereFaceLayer,
-    ModifiedSoftMaxLayer,
-)
-
 import numpy as np
 
+from bob.learn.tensorflow.layers import ModifiedSoftMaxLayer
+from bob.learn.tensorflow.layers import SphereFaceLayer
+from bob.learn.tensorflow.models import ArcFaceLayer
+from bob.learn.tensorflow.models import ArcFaceLayer3Penalties
+
 
 def test_arcface_layer():
 
-- 
GitLab