tensorflow/models

View on GitHub
research/deeplab/core/preprocess_utils.py

Summary

Maintainability
C
1 day
Test Coverage

File preprocess_utils.py has 412 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Lint as: python2, python3
# Copyright 2018 The TensorFlow Authors All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Severity: Minor
Found in research/deeplab/core/preprocess_utils.py - About 5 hrs to fix

    Function resize_to_range has 10 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def resize_to_range(image,
    Severity: Major
    Found in research/deeplab/core/preprocess_utils.py - About 1 hr to fix

      Function resize_to_range has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

      def resize_to_range(image,
                          label=None,
                          min_size=None,
                          max_size=None,
                          factor=None,
      Severity: Minor
      Found in research/deeplab/core/preprocess_utils.py - About 1 hr to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function resolve_shape has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

      def resolve_shape(tensor, rank=None, scope=None):
        """Fully resolves the shape of a Tensor.
      
        Use as much as possible the shape components already known during graph
        creation and resolve the remaining ones during runtime.
      Severity: Minor
      Found in research/deeplab/core/preprocess_utils.py - About 45 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function pad_to_bounding_box has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def pad_to_bounding_box(image, offset_height, offset_width, target_height,
      Severity: Minor
      Found in research/deeplab/core/preprocess_utils.py - About 45 mins to fix

        Function _crop has 5 arguments (exceeds 4 allowed). Consider refactoring.
        Open

        def _crop(image, offset_height, offset_width, crop_height, crop_width):
        Severity: Minor
        Found in research/deeplab/core/preprocess_utils.py - About 35 mins to fix

          Function pad_to_bounding_box has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

          def pad_to_bounding_box(image, offset_height, offset_width, target_height,
                                  target_width, pad_value):
            """Pads the given image with the given pad_value.
          
            Works like tf.image.pad_to_bounding_box, except it can pad the image
          Severity: Minor
          Found in research/deeplab/core/preprocess_utils.py - About 35 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function flip_dim has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

          def flip_dim(tensor_list, prob=0.5, dim=1):
            """Randomly flips a dimension of the given tensor.
          
            The decision to randomly flip the `Tensors` is made together. In other words,
            all or none of the images pass in are flipped.
          Severity: Minor
          Found in research/deeplab/core/preprocess_utils.py - About 35 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          There are no issues that match your filters.

          Category
          Status