From ea72b276baf8a4622710954b401d1cc388ae969e Mon Sep 17 00:00:00 2001
From: Amir MOHAMMADI <amir.mohammadi@idiap.ch>
Date: Tue, 8 Sep 2020 17:51:40 +0200
Subject: [PATCH] isort -sl -rc .

---
 bob/learn/tensorflow/dataset/__init__.py      |  6 ++--
 bob/learn/tensorflow/dataset/generator.py     |  5 +--
 bob/learn/tensorflow/dataset/image.py         |  7 ++--
 bob/learn/tensorflow/dataset/tfrecords.py     |  3 +-
 bob/learn/tensorflow/gan/__init__.py          |  2 +-
 .../tensorflow/gan/spectral_normalization.py  |  3 +-
 bob/learn/tensorflow/image/__init__.py        |  4 ++-
 bob/learn/tensorflow/loss/BaseLoss.py         |  1 +
 bob/learn/tensorflow/loss/ContrastiveLoss.py  |  2 ++
 bob/learn/tensorflow/loss/StyleLoss.py        |  3 +-
 bob/learn/tensorflow/loss/__init__.py         | 14 +++++---
 bob/learn/tensorflow/loss/center_loss.py      |  1 +
 .../tensorflow/loss/pairwise_confusion.py     |  4 ++-
 bob/learn/tensorflow/loss/pixel_wise.py       |  9 +++--
 bob/learn/tensorflow/loss/vat.py              |  3 +-
 bob/learn/tensorflow/models/alexnet.py        |  1 +
 .../tensorflow/models/autoencoder_face.py     |  2 ++
 bob/learn/tensorflow/models/densenet.py       |  2 ++
 bob/learn/tensorflow/models/inception.py      |  1 +
 .../tensorflow/models/inception_resnet_v2.py  | 34 +++++++++----------
 bob/learn/tensorflow/models/lenet5.py         |  1 +
 bob/learn/tensorflow/models/msu_patch.py      |  1 +
 bob/learn/tensorflow/models/simple_cnn.py     | 20 +++++------
 bob/learn/tensorflow/script/cache_dataset.py  | 14 ++++----
 .../tensorflow/script/compute_statistics.py   | 13 +++----
 .../tensorflow/script/db_to_tfrecords.py      | 18 +++++-----
 bob/learn/tensorflow/script/eval.py           | 23 +++++++------
 bob/learn/tensorflow/script/fit.py            | 15 ++++----
 bob/learn/tensorflow/script/keras.py          |  2 ++
 bob/learn/tensorflow/script/predict_bio.py    | 21 ++++++------
 bob/learn/tensorflow/script/tf.py             |  2 ++
 bob/learn/tensorflow/script/train.py          | 13 +++----
 .../tensorflow/script/train_and_evaluate.py   | 15 ++++----
 bob/learn/tensorflow/script/trim.py           | 10 ++++--
 .../test/data/input_biogenerator_config.py    |  3 +-
 .../test/data/input_predict_bio_config.py     |  1 +
 .../test/data/input_tfrecords_config.py       |  7 ++--
 .../tensorflow/test/data/mnist_input_fn.py    |  3 +-
 bob/learn/tensorflow/test/test_dataset.py     |  3 +-
 .../tensorflow/test/test_db_to_tfrecords.py   | 15 ++++----
 bob/learn/tensorflow/test/test_loss.py        | 11 +++---
 bob/learn/tensorflow/test/test_utils.py       |  8 ++---
 bob/learn/tensorflow/utils/__init__.py        | 10 +++---
 bob/learn/tensorflow/utils/eval.py            |  1 +
 bob/learn/tensorflow/utils/keras.py           |  5 +--
 bob/learn/tensorflow/utils/reproducible.py    |  1 +
 bob/learn/tensorflow/utils/sequences.py       |  6 ++--
 bob/learn/tensorflow/utils/session.py         |  3 +-
 bob/learn/tensorflow/utils/util.py            | 12 ++++---
 doc/conf.py                                   |  7 ++--
 setup.py                                      |  6 ++--
 51 files changed, 218 insertions(+), 159 deletions(-)

diff --git a/bob/learn/tensorflow/dataset/__init__.py b/bob/learn/tensorflow/dataset/__init__.py
index ab34eb78..0612be7a 100644
--- a/bob/learn/tensorflow/dataset/__init__.py
+++ b/bob/learn/tensorflow/dataset/__init__.py
@@ -1,6 +1,8 @@
-import tensorflow as tf
-import numpy
 import os
+
+import numpy
+import tensorflow as tf
+
 import bob.io.base
 
 DEFAULT_FEATURE = {
diff --git a/bob/learn/tensorflow/dataset/generator.py b/bob/learn/tensorflow/dataset/generator.py
index a8510487..7e68c024 100644
--- a/bob/learn/tensorflow/dataset/generator.py
+++ b/bob/learn/tensorflow/dataset/generator.py
@@ -1,6 +1,7 @@
-import tensorflow as tf
-import random
 import logging
+import random
+
+import tensorflow as tf
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/dataset/image.py b/bob/learn/tensorflow/dataset/image.py
index 239d83c2..d805a44f 100644
--- a/bob/learn/tensorflow/dataset/image.py
+++ b/bob/learn/tensorflow/dataset/image.py
@@ -2,9 +2,12 @@
 # vim: set fileencoding=utf-8 :
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
-import tensorflow as tf
 from functools import partial
-from . import append_image_augmentation, from_filename_to_tensor
+
+import tensorflow as tf
+
+from . import append_image_augmentation
+from . import from_filename_to_tensor
 
 
 def shuffle_data_and_labels_image_augmentation(
diff --git a/bob/learn/tensorflow/dataset/tfrecords.py b/bob/learn/tensorflow/dataset/tfrecords.py
index 32f73273..1000f273 100644
--- a/bob/learn/tensorflow/dataset/tfrecords.py
+++ b/bob/learn/tensorflow/dataset/tfrecords.py
@@ -4,16 +4,15 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
-from functools import partial
 import json
 import logging
 import os
+from functools import partial
 
 import tensorflow as tf
 
 from . import DEFAULT_FEATURE
 
-
 logger = logging.getLogger(__name__)
 TFRECORDS_EXT = ".tfrecords"
 
diff --git a/bob/learn/tensorflow/gan/__init__.py b/bob/learn/tensorflow/gan/__init__.py
index 502898e8..7d2a53c0 100644
--- a/bob/learn/tensorflow/gan/__init__.py
+++ b/bob/learn/tensorflow/gan/__init__.py
@@ -1,2 +1,2 @@
-from . import spectral_normalization
 from . import losses
+from . import spectral_normalization
diff --git a/bob/learn/tensorflow/gan/spectral_normalization.py b/bob/learn/tensorflow/gan/spectral_normalization.py
index a2f228f0..7c0d6a66 100644
--- a/bob/learn/tensorflow/gan/spectral_normalization.py
+++ b/bob/learn/tensorflow/gan/spectral_normalization.py
@@ -29,7 +29,8 @@ import re
 
 from tensorflow.python.framework import dtypes
 from tensorflow.python.framework import ops
-from tensorflow.python.keras.engine import base_layer_utils as keras_base_layer_utils
+from tensorflow.python.keras.engine import \
+    base_layer_utils as keras_base_layer_utils
 from tensorflow.python.ops import array_ops
 from tensorflow.python.ops import init_ops
 from tensorflow.python.ops import math_ops
diff --git a/bob/learn/tensorflow/image/__init__.py b/bob/learn/tensorflow/image/__init__.py
index 02ce0f96..c8a2e5ae 100644
--- a/bob/learn/tensorflow/image/__init__.py
+++ b/bob/learn/tensorflow/image/__init__.py
@@ -1,4 +1,6 @@
-from .filter import gaussian_kernel, GaussianFilter
+from .filter import GaussianFilter
+from .filter import gaussian_kernel
+
 
 # gets sphinx autodoc done right - don't remove it
 def __appropriate__(*args):
diff --git a/bob/learn/tensorflow/loss/BaseLoss.py b/bob/learn/tensorflow/loss/BaseLoss.py
index 8380ec17..f048b88a 100644
--- a/bob/learn/tensorflow/loss/BaseLoss.py
+++ b/bob/learn/tensorflow/loss/BaseLoss.py
@@ -3,6 +3,7 @@
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
 import logging
+
 import tensorflow as tf
 
 logger = logging.getLogger(__name__)
diff --git a/bob/learn/tensorflow/loss/ContrastiveLoss.py b/bob/learn/tensorflow/loss/ContrastiveLoss.py
index 4e1a22eb..416c8e58 100644
--- a/bob/learn/tensorflow/loss/ContrastiveLoss.py
+++ b/bob/learn/tensorflow/loss/ContrastiveLoss.py
@@ -3,7 +3,9 @@
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
 import logging
+
 import tensorflow as tf
+
 from bob.learn.tensorflow.utils import compute_euclidean_distance
 
 logger = logging.getLogger(__name__)
diff --git a/bob/learn/tensorflow/loss/StyleLoss.py b/bob/learn/tensorflow/loss/StyleLoss.py
index 75054a5a..46028aa2 100644
--- a/bob/learn/tensorflow/loss/StyleLoss.py
+++ b/bob/learn/tensorflow/loss/StyleLoss.py
@@ -2,9 +2,10 @@
 # vim: set fileencoding=utf-8 :
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
+import functools
 import logging
+
 import tensorflow as tf
-import functools
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/loss/__init__.py b/bob/learn/tensorflow/loss/__init__.py
index 215237f0..348d773f 100644
--- a/bob/learn/tensorflow/loss/__init__.py
+++ b/bob/learn/tensorflow/loss/__init__.py
@@ -1,13 +1,17 @@
 # from .BaseLoss import mean_cross_entropy_loss, mean_cross_entropy_center_loss
-from .ContrastiveLoss import contrastive_loss
-from .TripletLoss import triplet_loss, triplet_average_loss, triplet_fisher_loss
-from .StyleLoss import linear_gram_style_loss, content_loss, denoising_loss
-from .vat import VATLoss
-from .pixel_wise import PixelWise
 from .center_loss import CenterLoss
+from .ContrastiveLoss import contrastive_loss
 from .mmd import *
 from .pairwise_confusion import total_pairwise_confusion
+from .pixel_wise import PixelWise
+from .StyleLoss import content_loss
+from .StyleLoss import denoising_loss
+from .StyleLoss import linear_gram_style_loss
+from .TripletLoss import triplet_average_loss
+from .TripletLoss import triplet_fisher_loss
+from .TripletLoss import triplet_loss
 from .utils import *
+from .vat import VATLoss
 
 
 # gets sphinx autodoc done right - don't remove it
diff --git a/bob/learn/tensorflow/loss/center_loss.py b/bob/learn/tensorflow/loss/center_loss.py
index d419a20f..0d379cd7 100644
--- a/bob/learn/tensorflow/loss/center_loss.py
+++ b/bob/learn/tensorflow/loss/center_loss.py
@@ -1,5 +1,6 @@
 import tensorflow as tf
 
+
 # TODO(amir): replace parent class with tf.Module in tensorflow 1.14 and above.
 # * pass ``name`` to parent class
 # * replace get_variable with tf.Variable
diff --git a/bob/learn/tensorflow/loss/pairwise_confusion.py b/bob/learn/tensorflow/loss/pairwise_confusion.py
index f5309bfe..6c4c9613 100644
--- a/bob/learn/tensorflow/loss/pairwise_confusion.py
+++ b/bob/learn/tensorflow/loss/pairwise_confusion.py
@@ -1,5 +1,7 @@
 import tensorflow as tf
-from ..utils import pdist_safe, upper_triangle
+
+from ..utils import pdist_safe
+from ..utils import upper_triangle
 
 
 def total_pairwise_confusion(prelogits, name=None):
diff --git a/bob/learn/tensorflow/loss/pixel_wise.py b/bob/learn/tensorflow/loss/pixel_wise.py
index 4a11e656..09cb4c41 100644
--- a/bob/learn/tensorflow/loss/pixel_wise.py
+++ b/bob/learn/tensorflow/loss/pixel_wise.py
@@ -1,10 +1,9 @@
-from ..dataset import tf_repeat
-from .utils import (
-    balanced_softmax_cross_entropy_loss_weights,
-    balanced_sigmoid_cross_entropy_loss_weights,
-)
 import tensorflow as tf
 
+from ..dataset import tf_repeat
+from .utils import balanced_sigmoid_cross_entropy_loss_weights
+from .utils import balanced_softmax_cross_entropy_loss_weights
+
 
 class PixelWise:
     """A pixel wise loss which is just a cross entropy loss but applied to all pixels"""
diff --git a/bob/learn/tensorflow/loss/vat.py b/bob/learn/tensorflow/loss/vat.py
index e51c24f4..194d5444 100644
--- a/bob/learn/tensorflow/loss/vat.py
+++ b/bob/learn/tensorflow/loss/vat.py
@@ -23,9 +23,10 @@
 # SOFTWARE.
 
 
-import tensorflow as tf
 from functools import partial
 
+import tensorflow as tf
+
 
 def get_normalized_vector(d):
     d /= 1e-12 + tf.reduce_max(
diff --git a/bob/learn/tensorflow/models/alexnet.py b/bob/learn/tensorflow/models/alexnet.py
index 3428aa39..326abe71 100644
--- a/bob/learn/tensorflow/models/alexnet.py
+++ b/bob/learn/tensorflow/models/alexnet.py
@@ -62,6 +62,7 @@ def AlexNet_simplified(name="AlexNet", **kwargs):
 
 if __name__ == "__main__":
     import pkg_resources
+
     from bob.learn.tensorflow.utils import model_summary
 
     model = AlexNet_simplified()
diff --git a/bob/learn/tensorflow/models/autoencoder_face.py b/bob/learn/tensorflow/models/autoencoder_face.py
index 7be56d7b..bb92f92c 100644
--- a/bob/learn/tensorflow/models/autoencoder_face.py
+++ b/bob/learn/tensorflow/models/autoencoder_face.py
@@ -4,6 +4,7 @@ Mohammadi, Amir and Bhattacharjee, Sushil and Marcel, Sebastien, ICASSP 2020
 """
 
 import tensorflow as tf
+
 from bob.learn.tensorflow.models.densenet import densenet161
 
 
@@ -114,6 +115,7 @@ def autoencoder_face(z_dim=256, weight_decay=1e-10, decoder_last_act="tanh"):
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     model = ConvDecoder(z_dim=256, weight_decay=1e-9, last_act="tanh", name="Decoder")
diff --git a/bob/learn/tensorflow/models/densenet.py b/bob/learn/tensorflow/models/densenet.py
index 7dfbc8ae..bc0f6abd 100644
--- a/bob/learn/tensorflow/models/densenet.py
+++ b/bob/learn/tensorflow/models/densenet.py
@@ -3,6 +3,7 @@ Reference [Densely Connected Convolutional Networks](https://arxiv.org/abs/1608.
 """
 
 import tensorflow as tf
+
 from bob.extension import rc
 
 l2 = tf.keras.regularizers.l2
@@ -448,6 +449,7 @@ class DeepPixBiS(tf.keras.Model):
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     def print_model(inputs, outputs):
diff --git a/bob/learn/tensorflow/models/inception.py b/bob/learn/tensorflow/models/inception.py
index a4666b1b..90d56223 100644
--- a/bob/learn/tensorflow/models/inception.py
+++ b/bob/learn/tensorflow/models/inception.py
@@ -144,6 +144,7 @@ def GoogLeNet(*, num_classes=1000, name="GoogLeNet", **kwargs):
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     inputs = tf.keras.Input((28, 28, 192), name="input")
diff --git a/bob/learn/tensorflow/models/inception_resnet_v2.py b/bob/learn/tensorflow/models/inception_resnet_v2.py
index 8f15d0b2..dc544b0f 100644
--- a/bob/learn/tensorflow/models/inception_resnet_v2.py
+++ b/bob/learn/tensorflow/models/inception_resnet_v2.py
@@ -1,25 +1,24 @@
 # -*- coding: utf-8 -*-
 """Inception-ResNet-V2 MultiScale-Inception-ResNet-V2 models for Keras.
 """
-from tensorflow.keras.models import Model
-from tensorflow.keras.layers import (
-    Activation,
-    BatchNormalization,
-    Concatenate,
-    Conv2D,
-    Dense,
-    Dropout,
-    Input,
-    Lambda,
-    MaxPool2D,
-    AvgPool2D,
-    GlobalAvgPool2D,
-    GlobalMaxPool2D,
-)
-from tensorflow.keras import backend as K
-import tensorflow as tf
 import logging
 
+import tensorflow as tf
+from tensorflow.keras import backend as K
+from tensorflow.keras.layers import Activation
+from tensorflow.keras.layers import AvgPool2D
+from tensorflow.keras.layers import BatchNormalization
+from tensorflow.keras.layers import Concatenate
+from tensorflow.keras.layers import Conv2D
+from tensorflow.keras.layers import Dense
+from tensorflow.keras.layers import Dropout
+from tensorflow.keras.layers import GlobalAvgPool2D
+from tensorflow.keras.layers import GlobalMaxPool2D
+from tensorflow.keras.layers import Input
+from tensorflow.keras.layers import Lambda
+from tensorflow.keras.layers import MaxPool2D
+from tensorflow.keras.models import Model
+
 logger = logging.getLogger(__name__)
 
 
@@ -696,6 +695,7 @@ def MultiScaleInceptionResNetV2(
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     def print_model(inputs, outputs, name=None):
diff --git a/bob/learn/tensorflow/models/lenet5.py b/bob/learn/tensorflow/models/lenet5.py
index a868515b..8654001b 100644
--- a/bob/learn/tensorflow/models/lenet5.py
+++ b/bob/learn/tensorflow/models/lenet5.py
@@ -32,6 +32,7 @@ def LeNet5_simplified(name="LeNet5", **kwargs):
 
 if __name__ == "__main__":
     import pkg_resources
+
     from bob.learn.tensorflow.utils import model_summary
 
     model = LeNet5_simplified()
diff --git a/bob/learn/tensorflow/models/msu_patch.py b/bob/learn/tensorflow/models/msu_patch.py
index 3cd63ff9..21ad7bf9 100644
--- a/bob/learn/tensorflow/models/msu_patch.py
+++ b/bob/learn/tensorflow/models/msu_patch.py
@@ -67,6 +67,7 @@ def MSUPatch(name="MSUPatch", **kwargs):
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     model = MSUPatch()
diff --git a/bob/learn/tensorflow/models/simple_cnn.py b/bob/learn/tensorflow/models/simple_cnn.py
index 82ae65a6..f4c4ec56 100644
--- a/bob/learn/tensorflow/models/simple_cnn.py
+++ b/bob/learn/tensorflow/models/simple_cnn.py
@@ -1,15 +1,14 @@
 """A small CNN used for patch-based Face PAD"""
 
-from tensorflow.python.keras import Sequential, Input
-from tensorflow.python.keras.layers import (
-    Conv2D,
-    BatchNormalization,
-    Activation,
-    MaxPool2D,
-    Flatten,
-    Dense,
-    Dropout,
-)
+from tensorflow.python.keras import Input
+from tensorflow.python.keras import Sequential
+from tensorflow.python.keras.layers import Activation
+from tensorflow.python.keras.layers import BatchNormalization
+from tensorflow.python.keras.layers import Conv2D
+from tensorflow.python.keras.layers import Dense
+from tensorflow.python.keras.layers import Dropout
+from tensorflow.python.keras.layers import Flatten
+from tensorflow.python.keras.layers import MaxPool2D
 
 
 def SimpleCNN(input_shape=(28, 28, 3), inputs=None, name="SimpleCNN", **kwargs):
@@ -44,6 +43,7 @@ def SimpleCNN(input_shape=(28, 28, 3), inputs=None, name="SimpleCNN", **kwargs):
 if __name__ == "__main__":
     import pkg_resources
     from tabulate import tabulate
+
     from bob.learn.tensorflow.utils import model_summary
 
     model = SimpleCNN()
diff --git a/bob/learn/tensorflow/script/cache_dataset.py b/bob/learn/tensorflow/script/cache_dataset.py
index 5ec99916..db9bcfe6 100644
--- a/bob/learn/tensorflow/script/cache_dataset.py
+++ b/bob/learn/tensorflow/script/cache_dataset.py
@@ -4,15 +4,17 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
 import logging
+
 import click
 import tensorflow as tf
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
+
 from ..utils import is_argument_available
 
 logger = logging.getLogger(__name__)
diff --git a/bob/learn/tensorflow/script/compute_statistics.py b/bob/learn/tensorflow/script/compute_statistics.py
index 3638dee1..91da7458 100644
--- a/bob/learn/tensorflow/script/compute_statistics.py
+++ b/bob/learn/tensorflow/script/compute_statistics.py
@@ -4,15 +4,16 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
 import logging
+
 import click
 import numpy as np
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
 from bob.learn.tensorflow.dataset.bio import BioGenerator
 
 logger = logging.getLogger(__name__)
diff --git a/bob/learn/tensorflow/script/db_to_tfrecords.py b/bob/learn/tensorflow/script/db_to_tfrecords.py
index 7684c821..a252a5f6 100644
--- a/bob/learn/tensorflow/script/db_to_tfrecords.py
+++ b/bob/learn/tensorflow/script/db_to_tfrecords.py
@@ -4,21 +4,19 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
 import logging
 import os
+
 import click
 import tensorflow as tf
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
-from bob.learn.tensorflow.dataset.tfrecords import (
-    tfrecord_name_and_json_name,
-    dataset_to_tfrecord,
-)
 
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
+from bob.learn.tensorflow.dataset.tfrecords import dataset_to_tfrecord
+from bob.learn.tensorflow.dataset.tfrecords import tfrecord_name_and_json_name
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/script/eval.py b/bob/learn/tensorflow/script/eval.py
index 003f72f3..f555f677 100644
--- a/bob/learn/tensorflow/script/eval.py
+++ b/bob/learn/tensorflow/script/eval.py
@@ -4,24 +4,27 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
-import click
+
 import logging
 import os
 import shutil
 import sys
-import tensorflow as tf
 import time
+from collections import OrderedDict
+from collections import defaultdict
 from glob import glob
-from collections import defaultdict, OrderedDict
-from ..utils.eval import get_global_step
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
+
+import click
+import tensorflow as tf
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
 from bob.io.base import create_directories_safe
 
+from ..utils.eval import get_global_step
+
 logger = logging.getLogger(__name__)
 
 
diff --git a/bob/learn/tensorflow/script/fit.py b/bob/learn/tensorflow/script/fit.py
index 177d2761..a655bfca 100644
--- a/bob/learn/tensorflow/script/fit.py
+++ b/bob/learn/tensorflow/script/fit.py
@@ -4,17 +4,18 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
-import click
+
 import json
 import logging
 import os
+
+import click
 import tensorflow as tf
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/script/keras.py b/bob/learn/tensorflow/script/keras.py
index 794f4d67..ffbe8a7e 100644
--- a/bob/learn/tensorflow/script/keras.py
+++ b/bob/learn/tensorflow/script/keras.py
@@ -3,7 +3,9 @@
 import click
 import pkg_resources
 from click_plugins import with_plugins
+
 from bob.extension.scripts.click_helper import AliasedGroup
+
 from .utils import eager_execution_option
 
 
diff --git a/bob/learn/tensorflow/script/predict_bio.py b/bob/learn/tensorflow/script/predict_bio.py
index 31a4d05c..260cea38 100644
--- a/bob/learn/tensorflow/script/predict_bio.py
+++ b/bob/learn/tensorflow/script/predict_bio.py
@@ -4,22 +4,23 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
+import logging
 import os
 import sys
-import logging
-import click
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
 from collections import defaultdict
+
+import click
 import numpy as np
 import tensorflow as tf
-from bob.io.base import create_directories_safe
-from bob.bio.base.utils import save
+
 from bob.bio.base.tools.grid import indices
+from bob.bio.base.utils import save
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
+from bob.io.base import create_directories_safe
 from bob.learn.tensorflow.dataset.bio import BioGenerator
 
 try:
diff --git a/bob/learn/tensorflow/script/tf.py b/bob/learn/tensorflow/script/tf.py
index 859efe27..56bdbfd9 100644
--- a/bob/learn/tensorflow/script/tf.py
+++ b/bob/learn/tensorflow/script/tf.py
@@ -3,7 +3,9 @@
 import click
 import pkg_resources
 from click_plugins import with_plugins
+
 from bob.extension.scripts.click_helper import AliasedGroup
+
 from .utils import eager_execution_option
 
 
diff --git a/bob/learn/tensorflow/script/train.py b/bob/learn/tensorflow/script/train.py
index 6f7a0c0d..7d27e323 100644
--- a/bob/learn/tensorflow/script/train.py
+++ b/bob/learn/tensorflow/script/train.py
@@ -4,14 +4,15 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
 import logging
+
 import click
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-    log_parameters,
-)
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/script/train_and_evaluate.py b/bob/learn/tensorflow/script/train_and_evaluate.py
index 1a6cdc84..8b1ca924 100644
--- a/bob/learn/tensorflow/script/train_and_evaluate.py
+++ b/bob/learn/tensorflow/script/train_and_evaluate.py
@@ -4,15 +4,16 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
-import tensorflow as tf
-from bob.learn.tensorflow.utils.hooks import EarlyStopException
+
 import logging
+
 import click
-from bob.extension.scripts.click_helper import (
-    verbosity_option,
-    ConfigCommand,
-    ResourceOption,
-)
+import tensorflow as tf
+
+from bob.extension.scripts.click_helper import ConfigCommand
+from bob.extension.scripts.click_helper import ResourceOption
+from bob.extension.scripts.click_helper import verbosity_option
+from bob.learn.tensorflow.utils.hooks import EarlyStopException
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/script/trim.py b/bob/learn/tensorflow/script/trim.py
index 7f58ce47..17e7fce5 100644
--- a/bob/learn/tensorflow/script/trim.py
+++ b/bob/learn/tensorflow/script/trim.py
@@ -4,12 +4,16 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
-import click
+
+import glob
 import logging
 import os
-import glob
+
+import click
 import tensorflow as tf
-from bob.extension.scripts.click_helper import verbosity_option, log_parameters
+
+from bob.extension.scripts.click_helper import log_parameters
+from bob.extension.scripts.click_helper import verbosity_option
 
 logger = logging.getLogger(__name__)
 
diff --git a/bob/learn/tensorflow/test/data/input_biogenerator_config.py b/bob/learn/tensorflow/test/data/input_biogenerator_config.py
index 2d03e4b1..ba7dd188 100644
--- a/bob/learn/tensorflow/test/data/input_biogenerator_config.py
+++ b/bob/learn/tensorflow/test/data/input_biogenerator_config.py
@@ -1,6 +1,7 @@
+import tensorflow as tf
+
 from bob.learn.tensorflow.dataset.bio import BioGenerator
 from bob.learn.tensorflow.utils import to_channels_last
-import tensorflow as tf
 
 batch_size = 2
 epochs = 2
diff --git a/bob/learn/tensorflow/test/data/input_predict_bio_config.py b/bob/learn/tensorflow/test/data/input_predict_bio_config.py
index cf4d862a..4603200d 100644
--- a/bob/learn/tensorflow/test/data/input_predict_bio_config.py
+++ b/bob/learn/tensorflow/test/data/input_predict_bio_config.py
@@ -1,4 +1,5 @@
 import tensorflow as tf
+
 from bob.bio.base.test.dummy.database import database
 
 biofiles = database.all_files(["dev"])
diff --git a/bob/learn/tensorflow/test/data/input_tfrecords_config.py b/bob/learn/tensorflow/test/data/input_tfrecords_config.py
index f6df06c6..86f856c2 100644
--- a/bob/learn/tensorflow/test/data/input_tfrecords_config.py
+++ b/bob/learn/tensorflow/test/data/input_tfrecords_config.py
@@ -1,8 +1,7 @@
 import tensorflow as tf
-from bob.learn.tensorflow.dataset.tfrecords import (
-    shuffle_data_and_labels,
-    batch_data_and_labels,
-)
+
+from bob.learn.tensorflow.dataset.tfrecords import batch_data_and_labels
+from bob.learn.tensorflow.dataset.tfrecords import shuffle_data_and_labels
 
 tfrecord_filenames = ["%(tfrecord_filenames)s"]
 data_shape = (1, 112, 92)  # size of atnt images
diff --git a/bob/learn/tensorflow/test/data/mnist_input_fn.py b/bob/learn/tensorflow/test/data/mnist_input_fn.py
index df1d81e7..cdc3e433 100644
--- a/bob/learn/tensorflow/test/data/mnist_input_fn.py
+++ b/bob/learn/tensorflow/test/data/mnist_input_fn.py
@@ -1,6 +1,7 @@
-from bob.db.mnist import Database
 import tensorflow as tf
 
+from bob.db.mnist import Database
+
 database = Database()
 
 
diff --git a/bob/learn/tensorflow/test/test_dataset.py b/bob/learn/tensorflow/test/test_dataset.py
index 7a018c6d..f70ee9fb 100644
--- a/bob/learn/tensorflow/test/test_dataset.py
+++ b/bob/learn/tensorflow/test/test_dataset.py
@@ -2,9 +2,10 @@
 # vim: set fileencoding=utf-8 :
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
-import pkg_resources
 import numpy
+import pkg_resources
 import tensorflow as tf
+
 from bob.learn.tensorflow.dataset.generator import dataset_using_generator
 
 data_shape = (250, 250, 3)
diff --git a/bob/learn/tensorflow/test/test_db_to_tfrecords.py b/bob/learn/tensorflow/test/test_db_to_tfrecords.py
index be07bde0..75185621 100644
--- a/bob/learn/tensorflow/test/test_db_to_tfrecords.py
+++ b/bob/learn/tensorflow/test/test_db_to_tfrecords.py
@@ -1,16 +1,19 @@
 import os
 import shutil
-import pkg_resources
 import tempfile
-import tensorflow as tf
+
 import numpy as np
+import pkg_resources
+import tensorflow as tf
 from click.testing import CliRunner
-from bob.io.base import create_directories_safe
-from bob.learn.tensorflow.script.db_to_tfrecords import datasets_to_tfrecords
-from bob.learn.tensorflow.utils import load_mnist, create_mnist_tfrecord
-from bob.extension.scripts.click_helper import assert_click_runner_result
+
 from bob.extension.config import load
+from bob.extension.scripts.click_helper import assert_click_runner_result
+from bob.io.base import create_directories_safe
 from bob.learn.tensorflow.dataset.tfrecords import dataset_from_tfrecord
+from bob.learn.tensorflow.script.db_to_tfrecords import datasets_to_tfrecords
+from bob.learn.tensorflow.utils import create_mnist_tfrecord
+from bob.learn.tensorflow.utils import load_mnist
 
 regenerate_reference = False
 
diff --git a/bob/learn/tensorflow/test/test_loss.py b/bob/learn/tensorflow/test/test_loss.py
index cccdf600..59303e30 100644
--- a/bob/learn/tensorflow/test/test_loss.py
+++ b/bob/learn/tensorflow/test/test_loss.py
@@ -2,12 +2,13 @@
 # vim: set fileencoding=utf-8 :
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
-import tensorflow as tf
 import numpy
-from bob.learn.tensorflow.loss import (
-    balanced_softmax_cross_entropy_loss_weights,
-    balanced_sigmoid_cross_entropy_loss_weights,
-)
+import tensorflow as tf
+
+from bob.learn.tensorflow.loss import \
+    balanced_sigmoid_cross_entropy_loss_weights
+from bob.learn.tensorflow.loss import \
+    balanced_softmax_cross_entropy_loss_weights
 
 
 def test_balanced_softmax_cross_entropy_loss_weights():
diff --git a/bob/learn/tensorflow/test/test_utils.py b/bob/learn/tensorflow/test/test_utils.py
index 29d9f276..2e8a21ec 100644
--- a/bob/learn/tensorflow/test/test_utils.py
+++ b/bob/learn/tensorflow/test/test_utils.py
@@ -3,13 +3,11 @@
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 
 import numpy
-from bob.learn.tensorflow.utils import (
-    compute_embedding_accuracy,
-    compute_embedding_accuracy_tensors,
-)
-
 import tensorflow as tf
 
+from bob.learn.tensorflow.utils import compute_embedding_accuracy
+from bob.learn.tensorflow.utils import compute_embedding_accuracy_tensors
+
 """
 Some unit tests for the datashuffler
 """
diff --git a/bob/learn/tensorflow/utils/__init__.py b/bob/learn/tensorflow/utils/__init__.py
index da50ee84..ebfdb2b1 100644
--- a/bob/learn/tensorflow/utils/__init__.py
+++ b/bob/learn/tensorflow/utils/__init__.py
@@ -1,9 +1,9 @@
-from .util import *
-from .singleton import Singleton
-from .session import Session
 from .eval import *
-from .keras import *
-from .train import *
 from .graph import *
+from .keras import *
 from .math import *
 from .reproducible import *
+from .session import Session
+from .singleton import Singleton
+from .train import *
+from .util import *
diff --git a/bob/learn/tensorflow/utils/eval.py b/bob/learn/tensorflow/utils/eval.py
index 3efa80a1..d647b0a7 100644
--- a/bob/learn/tensorflow/utils/eval.py
+++ b/bob/learn/tensorflow/utils/eval.py
@@ -1,6 +1,7 @@
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
+
 import tensorflow as tf
 
 
diff --git a/bob/learn/tensorflow/utils/keras.py b/bob/learn/tensorflow/utils/keras.py
index e5e1a8f4..3a278fd6 100644
--- a/bob/learn/tensorflow/utils/keras.py
+++ b/bob/learn/tensorflow/utils/keras.py
@@ -1,7 +1,8 @@
-import tensorflow.keras.backend as K
-import tensorflow as tf
 import logging
 
+import tensorflow as tf
+import tensorflow.keras.backend as K
+
 logger = logging.getLogger(__name__)
 
 
diff --git a/bob/learn/tensorflow/utils/reproducible.py b/bob/learn/tensorflow/utils/reproducible.py
index f1a2b499..bcb988a4 100644
--- a/bob/learn/tensorflow/utils/reproducible.py
+++ b/bob/learn/tensorflow/utils/reproducible.py
@@ -2,6 +2,7 @@
 """
 import os
 import random as rn
+
 import numpy as np
 import tensorflow as tf
 from tensorflow.core.protobuf import rewriter_config_pb2
diff --git a/bob/learn/tensorflow/utils/sequences.py b/bob/learn/tensorflow/utils/sequences.py
index 99cdf5aa..77abe182 100644
--- a/bob/learn/tensorflow/utils/sequences.py
+++ b/bob/learn/tensorflow/utils/sequences.py
@@ -1,10 +1,12 @@
 from __future__ import division
+
 import numpy
 from keras.utils import Sequence
 
-# documentation imports
-from bob.dap.base.database import PadDatabase, PadFile
 from bob.bio.base.preprocessor import Preprocessor
+# documentation imports
+from bob.dap.base.database import PadDatabase
+from bob.dap.base.database import PadFile
 
 
 class PadSequence(Sequence):
diff --git a/bob/learn/tensorflow/utils/session.py b/bob/learn/tensorflow/utils/session.py
index 34022df1..9b72a6ad 100644
--- a/bob/learn/tensorflow/utils/session.py
+++ b/bob/learn/tensorflow/utils/session.py
@@ -4,9 +4,10 @@
 # @date: Wed 11 May 2016 09:39:36 CEST
 
 import tensorflow as tf
-from .singleton import Singleton
 from tensorflow.python import debug as tf_debug
 
+from .singleton import Singleton
+
 
 @Singleton
 class Session(object):
diff --git a/bob/learn/tensorflow/utils/util.py b/bob/learn/tensorflow/utils/util.py
index a7cd02d3..1338f1fd 100644
--- a/bob/learn/tensorflow/utils/util.py
+++ b/bob/learn/tensorflow/utils/util.py
@@ -3,12 +3,13 @@
 # @author: Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
 # @date: Wed 11 May 2016 09:39:36 CEST
 
+import inspect
+import logging
+
 import numpy
 import tensorflow as tf
 from tensorflow.python.client import device_lib
 from tensorflow.python.framework import function
-import inspect
-import logging
 
 logger = logging.getLogger(__name__)
 
@@ -123,9 +124,10 @@ def create_mnist_tfrecord(tfrecords_filename, data, labels, n_samples=6000):
 def compute_eer(
     data_train, labels_train, data_validation, labels_validation, n_classes
 ):
-    import bob.measure
     from scipy.spatial.distance import cosine
 
+    import bob.measure
+
     # Creating client models
     models = []
     for i in range(n_classes):
@@ -190,6 +192,7 @@ def compute_accuracy(
 def debug_embbeding(image, architecture, embbeding_dim=2, feature_layer="fc3"):
     """"""
     import tensorflow as tf
+
     from bob.learn.tensorflow.utils.session import Session
 
     session = Session.instance(new=False).session
@@ -287,7 +290,8 @@ def compute_embedding_accuracy(embedding, labels):
       Correspondent labels
     """
 
-    from scipy.spatial.distance import pdist, squareform
+    from scipy.spatial.distance import pdist
+    from scipy.spatial.distance import squareform
 
     distances = squareform(pdist(embedding))
 
diff --git a/doc/conf.py b/doc/conf.py
index 7959b3eb..b0729503 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -1,11 +1,11 @@
 #!/usr/bin/env python
 # vim: set fileencoding=utf-8 :
 
+import glob
 import os
 import sys
-import glob
-import pkg_resources
 
+import pkg_resources
 
 # -- General configuration -----------------------------------------------------
 
@@ -235,7 +235,8 @@ autodoc_default_flags = [
 ]
 
 # For inter-documentation mapping:
-from bob.extension.utils import link_documentation, load_requirements
+from bob.extension.utils import link_documentation
+from bob.extension.utils import load_requirements
 
 sphinx_requirements = "extra-intersphinx.txt"
 if os.path.exists(sphinx_requirements):
diff --git a/setup.py b/setup.py
index c53aa82a..8ae30909 100644
--- a/setup.py
+++ b/setup.py
@@ -3,13 +3,13 @@
 # Andre Anjos <andre.anjos@idiap.ch>
 # Mon 16 Apr 08:18:08 2012 CEST
 
+from setuptools import dist
 from setuptools import setup
 
-from setuptools import setup, dist
-
 dist.Distribution(dict(setup_requires=["bob.extension"]))
 
-from bob.extension.utils import load_requirements, find_packages
+from bob.extension.utils import find_packages
+from bob.extension.utils import load_requirements
 
 install_requires = load_requirements()
 
-- 
GitLab