tensorflow/tensorflow

View on GitHub
tensorflow/python/keras/metrics.py

Summary

Maintainability
F
1 wk
Test Coverage

File metrics.py has 2868 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Copyright 2015 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.
# You may obtain a copy of the License at
Severity: Major
Found in tensorflow/python/keras/metrics.py - About 1 wk to fix

    Function __init__ has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
    Open

      def __init__(self,
                   num_thresholds=200,
                   curve='ROC',
                   summation_method='interpolation',
                   name=None,
    Severity: Minor
    Found in tensorflow/python/keras/metrics.py - About 2 hrs 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 update_state has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
    Open

      def update_state(self, values, sample_weight=None):
        """Accumulates statistics for computing the metric.
    
        Args:
          values: Per-example value.
    Severity: Minor
    Found in tensorflow/python/keras/metrics.py - About 2 hrs 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 result has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
    Open

      def result(self):
        if (self.curve == metrics_utils.AUCCurve.PR and
            self.summation_method == metrics_utils.AUCSummationMethod.INTERPOLATION
           ):
          # This use case is different and is handled separately.
    Severity: Minor
    Found in tensorflow/python/keras/metrics.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 __init__ has 10 arguments (exceeds 4 allowed). Consider refactoring.
    Open

      def __init__(self,
    Severity: Major
    Found in tensorflow/python/keras/metrics.py - About 1 hr to fix

      Function update_state has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
      Open

        def update_state(self, y_true, y_pred, sample_weight=None):
          """Accumulates confusion matrix statistics.
      
          Args:
            y_true: The ground truth values.
      Severity: Minor
      Found in tensorflow/python/keras/metrics.py - About 55 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 add_weight has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

        def add_weight(
      Severity: Minor
      Found in tensorflow/python/keras/metrics.py - About 45 mins to fix

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

          def __init__(self,
        Severity: Minor
        Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

            def __init__(self,
          Severity: Minor
          Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

              def __init__(self,
            Severity: Minor
            Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

                def __init__(self,
              Severity: Minor
              Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

                  def __init__(self,
                Severity: Minor
                Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

                    def __init__(self,
                  Severity: Minor
                  Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

                      def __init__(self,
                    Severity: Minor
                    Found in tensorflow/python/keras/metrics.py - About 35 mins to fix

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

                        def _build(self, shape):
                          """Initialize TP, FP, TN, and FN tensors, given the shape of the data."""
                          if self.multi_label:
                            if shape.ndims != 2:
                              raise ValueError('`y_true` must have rank=2 when `multi_label` is '
                      Severity: Minor
                      Found in tensorflow/python/keras/metrics.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 __new__ has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                      Open

                        def __new__(cls, *args, **kwargs):
                          obj = super(Metric, cls).__new__(cls)
                      
                          # If `update_state` is not in eager/tf.function and it is not from a
                          # built-in metric, wrap it in `tf.function`. This is so that users writing
                      Severity: Minor
                      Found in tensorflow/python/keras/metrics.py - About 25 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 non_trainable_weights has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                      Open

                        def non_trainable_weights(self):
                          # Overridden from Layer class to track submetric weights.
                          if self.trainable:
                            non_trainable_weights = self._non_trainable_weights
                            for m in self._metrics:
                      Severity: Minor
                      Found in tensorflow/python/keras/metrics.py - About 25 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 sparse_top_k_categorical_accuracy has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                      Open

                      def sparse_top_k_categorical_accuracy(y_true, y_pred, k=5):
                        """Computes how often integer targets are in the top `K` predictions.
                      
                        Standalone usage:
                        >>> y_true = [2, 1]
                      Severity: Minor
                      Found in tensorflow/python/keras/metrics.py - About 25 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