tensorflow/tensorflow

View on GitHub
tensorflow/python/tpu/tensor_tracer.py

Summary

Maintainability
F
2 wks
Test Coverage

File tensor_tracer.py has 1826 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# 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.
# You may obtain a copy of the License at
Severity: Major
Found in tensorflow/python/tpu/tensor_tracer.py - About 4 days to fix

    Function _trace_execution has a Cognitive Complexity of 89 (exceeds 5 allowed). Consider refactoring.
    Open

      def _trace_execution(self, graph,
                           tensor_fetches,
                           op_fetches=None,
                           on_tpu=True):
        """Commong tracing function for both CPU and TPUs.
    Severity: Minor
    Found in tensorflow/python/tpu/tensor_tracer.py - About 1 day 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

    TensorTracer has 61 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class TensorTracer:
      """A software construct for tracing tensor values in a TF graph.
    
      This utility is disabled by default. It is hooked into tpu.rewrite, so it can
      easily be enabled on TPUs by setting the TENSOR_TRACER_FLAGS env variable as
    Severity: Major
    Found in tensorflow/python/tpu/tensor_tracer.py - About 1 day to fix

      Function _generate_flush_cache_op has a Cognitive Complexity of 41 (exceeds 5 allowed). Consider refactoring.
      Open

        def _generate_flush_cache_op(self, num_replicas, on_tpu,
                                     tensor_trace_order, graph):
          """Generates an Op that will flush the cache to file.
      
          Args:
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.py - About 6 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 _preprocess_traced_tensor has a Cognitive Complexity of 36 (exceeds 5 allowed). Consider refactoring.
      Open

        def _preprocess_traced_tensor(self, tensor):
          """Computes NAN/Norm/Max on TPUs before sending to CPU.
      
          Args:
            tensor: The tensor to be traced.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.py - About 5 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 _skip_tensor has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
      Open

        def _skip_tensor(self, op_id, out_tensor, report_handler):
          """Returns True if we should not trace out_tensor.
      
          Args:
            op_id: Topological index of the op producing tensor.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _filter_execution_path_operations has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
      Open

        def _filter_execution_path_operations(self, operations, fetches):
          """Returns the set of ops in the execution path to compute given fetches."""
      
          # If no fetch provided, then return all operations.
          if fetches is None:
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _skip_op has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
      Open

        def _skip_op(self, op_id, op, ops_in_exec_path, report_handler):
          """Returns True if we should not trace Op.
      
          Args:
            op_id: Topological index of the op.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _determine_trace_and_create_report has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
      Open

        def _determine_trace_and_create_report(self, graph, ops_in_exec_path,
                                               graph_summary_tag):
          """Work needs to be done prior to TPU or CPU tracing.
      
          Args:
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _prepare_host_call_fn has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
      Open

        def _prepare_host_call_fn(self, processed_t_fetches,
                                  op_fetches, graph, graph_summary_tag):
          """Creates a host call function that will write the cache as tb summary.
      
          Args:
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _inspect_summary_cache has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
      Open

        def _inspect_summary_cache(self, cache, replica_id, step_num, output_stream,
                                   tensor_trace_order):
          """Generates a print operation to print trace inspection.
      
          Args:
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _make_tensor_trace_fun has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

        def _make_tensor_trace_fun(self, tensor_name, tensor_trace_order):
          """Makes the tensor tracing function called by outside compilation.
      
          Args:
            tensor_name: name of the tensor being traced.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 read_tensor_tracer_event_file has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

      def read_tensor_tracer_event_file(event_file):
        """Reads the event file written by tensor tracer.
      
        This can be used to read the full tensors written into binary event files by
        by TensorTracer with trace_mode=full_tensor_summary.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 trace_tpu has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

        def trace_tpu(self, graph,
                      tensor_fetches,
                      op_fetches=None,
                      num_replicas=None,
                      num_replicas_per_host=None,
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 _determine_and_instrument_traced_tensors has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

        def _determine_and_instrument_traced_tensors(self, graph_order,
                                                     ops_in_exec_path,
                                                     tensor_trace_points,
                                                     report_handler):
          """Determines the tensors to trace and instruments the trace details.
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 keras_layer_tracepoint has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
      Open

      def keras_layer_tracepoint(layer, checkpoint_name):
        """An interface for adding the tensor outputs of a keras layer.
      
        Encapsulates trace_tensor.
      
      
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.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 trace_tpu has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

        def trace_tpu(self, graph,
      Severity: Minor
      Found in tensorflow/python/tpu/tensor_tracer.py - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                    if not self._parameters.collect_summary_per_core:
                      tt_core_summary = self.aggregate_global_cache(tt_core_summary)
        
        
        Severity: Major
        Found in tensorflow/python/tpu/tensor_tracer.py - About 45 mins to fix

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

            def _create_or_get_tensor_history_values_cache(self,
                                                           cache_name,
                                                           graph,
                                                           shape=None,
                                                           dtype=dtypes.float32):
          Severity: Minor
          Found in tensorflow/python/tpu/tensor_tracer.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 _convert_fetches_to_input_format has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

            def _convert_fetches_to_input_format(self, input_fetches, current_fetches):
              """Changes current_fetches' format, so that it matches input_fetches."""
              if isinstance(input_fetches, tensor_lib.Tensor):
                if len(current_fetches) != 1:
                  raise RuntimeError('Tensor tracer input/output fetches do not match.')
          Severity: Minor
          Found in tensorflow/python/tpu/tensor_tracer.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 _inspect_summary_cache has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

            def _inspect_summary_cache(self, cache, replica_id, step_num, output_stream,
          Severity: Minor
          Found in tensorflow/python/tpu/tensor_tracer.py - About 35 mins to fix

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

              def _flush_tensor_values_cache(self, tensor_fetches, op_fetches, on_tpu,
            Severity: Minor
            Found in tensorflow/python/tpu/tensor_tracer.py - About 35 mins to fix

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

                def _process_tensor_fetches(self, tensor_fetches):
                  """Check that tensor_fetches is not empty and have valid tensors."""
                  # If none or empty list.
                  if tensor_fetches is None:
                    raise RuntimeError('tensor_fetches provided to tensor_tracer cannot be '
              Severity: Minor
              Found in tensorflow/python/tpu/tensor_tracer.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 _process_op_fetches has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

                def _process_op_fetches(self, op_fetches):
                  """Check that op_fetches have valid ops."""
                  if op_fetches is None:
                    return []
              
              
              Severity: Minor
              Found in tensorflow/python/tpu/tensor_tracer.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 op_priority has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

              def op_priority(op_type):
                """Returns the priority of the op.
              
                If the priority of the op is k, it will be traced if trace_level>=k.
                Args:
              Severity: Minor
              Found in tensorflow/python/tpu/tensor_tracer.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 _create_or_get_tensor_values_cache has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

                def _create_or_get_tensor_values_cache(self, cache_name, graph,
                                                       shape=None, dtype=dtypes.float32):
                  """Creates a variable as the cache to store intermediate tensor values.
              
                  Args:
              Severity: Minor
              Found in tensorflow/python/tpu/tensor_tracer.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

              Avoid too many return statements within this function.
              Open

                return 2
              Severity: Major
              Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                Avoid too many return statements within this function.
                Open

                      return result_dict
                Severity: Major
                Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                  Avoid too many return statements within this function.
                  Open

                        return True
                  Severity: Major
                  Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                    Avoid too many return statements within this function.
                    Open

                        return False
                    Severity: Major
                    Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                      Avoid too many return statements within this function.
                      Open

                                return True
                      Severity: Major
                      Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                        Avoid too many return statements within this function.
                        Open

                                return False
                        Severity: Major
                        Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                          Avoid too many return statements within this function.
                          Open

                                    return False
                          Severity: Major
                          Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                            Avoid too many return statements within this function.
                            Open

                                  return False
                            Severity: Major
                            Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                              Avoid too many return statements within this function.
                              Open

                                    return {self._parameters.trace_mode: array_ops.reshape(
                              Severity: Major
                              Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                Avoid too many return statements within this function.
                                Open

                                      return {self._parameters.trace_mode: _show_max_abs(tensor)}
                                Severity: Major
                                Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                  Avoid too many return statements within this function.
                                  Open

                                        return False
                                  Severity: Major
                                  Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                    Avoid too many return statements within this function.
                                    Open

                                            return True
                                    Severity: Major
                                    Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                      Avoid too many return statements within this function.
                                      Open

                                          return 1
                                      Severity: Major
                                      Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                        Avoid too many return statements within this function.
                                        Open

                                                return True
                                        Severity: Major
                                        Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                          Avoid too many return statements within this function.
                                          Open

                                              return 2
                                          Severity: Major
                                          Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                            Avoid too many return statements within this function.
                                            Open

                                                  return True
                                            Severity: Major
                                            Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                              Avoid too many return statements within this function.
                                              Open

                                                      return True
                                              Severity: Major
                                              Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                                Avoid too many return statements within this function.
                                                Open

                                                    return 3
                                                Severity: Major
                                                Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                                  Avoid too many return statements within this function.
                                                  Open

                                                        return True
                                                  Severity: Major
                                                  Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                                    Avoid too many return statements within this function.
                                                    Open

                                                          return True
                                                    Severity: Major
                                                    Found in tensorflow/python/tpu/tensor_tracer.py - About 30 mins to fix

                                                      Function _is_user_excluded_op has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                      Open

                                                        def _is_user_excluded_op(self, op):
                                                          for opname_re in self._parameters.excluded_opname_re_list:
                                                            if opname_re.match(op.name):
                                                              return True
                                                          for optype_re in self._parameters.excluded_optype_re_list:
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.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 _is_user_included_op has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                      Open

                                                        def _is_user_included_op(self, op):
                                                          """Checks whether the op is included in the tensor tracer flags.
                                                      
                                                          Args:
                                                            op: tf Operation
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.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 trace_cpu has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                      Open

                                                        def trace_cpu(self, graph, tensor_fetches, op_fetches=None):
                                                          """Traces the tensors generated by CPU Ops in a TF graph.
                                                      
                                                          Args:
                                                            graph: the graph of Ops executed on the CPU.
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.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

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._is_user_included_op(out_tensor.op):
                                                            report_handler.instrument_tensor(
                                                                out_tensor, TensorTracer.reason(op_id, _REASON_USER_INCLUDED))
                                                            if tensor_tracer_flags.TT_CHECK_FILTER.value:
                                                              logging.info('USER_INCLUDED tensor %s', out_tensor.name)
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 2 hrs to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1245..1250

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 52.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._is_user_excluded_op(out_tensor.op):
                                                            report_handler.instrument_tensor(
                                                                out_tensor, TensorTracer.reason(op_id, _REASON_USER_EXCLUDED))
                                                            if tensor_tracer_flags.TT_CHECK_FILTER.value:
                                                              logging.info('USER_EXCLUDED tensor %s', out_tensor.name)
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 2 hrs to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1239..1244

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 52.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._is_user_excluded_op(op):
                                                            report_handler.instrument_op(
                                                                op, TensorTracer.reason(op_id, _REASON_USER_EXCLUDED))
                                                            if tensor_tracer_flags.TT_CHECK_FILTER.value:
                                                              logging.info('USER_EXCLUDED op %s', op.name)
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 2 hrs to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1188..1193

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 50.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._is_user_included_op(op):
                                                            report_handler.instrument_op(
                                                                op, TensorTracer.reason(op_id, _REASON_USER_INCLUDED))
                                                            if tensor_tracer_flags.TT_CHECK_FILTER.value:
                                                              logging.info('USER_INCLUDED op %s', op.name)
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 2 hrs to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1203..1208

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 50.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._parameters.trace_mode == tensor_tracer_flags.TRACE_MODE_NORM:
                                                            return {self._parameters.trace_mode: array_ops.reshape(
                                                                _show_norm(tensor), [1])}
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 1 hr to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 975..977

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 40.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if self._parameters.trace_mode == tensor_tracer_flags.TRACE_MODE_HISTORY:
                                                            return {self._parameters.trace_mode: array_ops.reshape(
                                                                _show_norm(tensor), [1])}
                                                      Severity: Major
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 1 hr to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 972..974

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 40.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                              output_tensor = cond.cond(
                                                                  mask,
                                                                  lambda: constant_op.constant([1.0]),
                                                                  lambda: constant_op.constant([0.0]))
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 55 mins to fix
                                                      tensorflow/python/kernel_tests/numerics_test.py on lines 108..110

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 37.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if graph in TensorTracer._traced_graphs:
                                                            logging.warning('Graph is already rewritten with tensor tracer, ignoring '
                                                                            'multiple calls.')
                                                            return tensor_fetches
                                                          else:
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 50 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 2237..2242

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 36.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if graph in TensorTracer._traced_graphs:
                                                            logging.warning('Graph is already rewritten with tensor tracer, ignoring '
                                                                            'multiple calls.')
                                                            return tensor_fetches
                                                          else:
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 50 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 2291..2296

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 36.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if isinstance(graph, func_graph.FuncGraph) or isinstance(
                                                              graph, function._FuncGraph):  # pylint: disable=protected-access
                                                            logging.warning('Tensor Tracer is not supported for tracing FuncGraphs. '
                                                                            'Ignoring tracing.')
                                                            return tensor_fetches
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 45 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 2285..2289

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 35.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if isinstance(graph, func_graph.FuncGraph) or isinstance(
                                                              graph, function._FuncGraph):  # pylint: disable=protected-access
                                                            logging.warning('Tensor Tracer is not supported for tracing FuncGraphs. '
                                                                            'Ignoring tracing.')
                                                            return tensor_fetches
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 45 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 2231..2235

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 35.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if not self._inside_op_range(op_id):
                                                            report_handler.instrument_op(
                                                                op, TensorTracer.reason(op_id, _REASON_OUTSIDE_OP_RANGE))
                                                            return True
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 40 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1199..1202

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 34.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Similar blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                          if not self._is_interesting_op(op):
                                                            report_handler.instrument_op(
                                                                op, TensorTracer.reason(op_id, _REASON_LESS_INTERESTING_OP))
                                                            return True
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 40 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 1195..1198

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 34.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                                  cache_name] = variable_scope.get_variable(
                                                                      'tt_history' + '_' + self._escape_namescopes(cache_name),
                                                                      shape=shape,
                                                                      dtype=dtype,
                                                                      initializer=init_ops.constant_initializer(init_val),
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 30 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 693..699

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 32.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      Identical blocks of code found in 2 locations. Consider refactoring.
                                                      Open

                                                              graph_cache_var[cache_name] = variable_scope.get_variable(
                                                                  _TT_SNAPSHOT + '_' + self._escape_namescopes(cache_name),
                                                                  shape=shape, dtype=dtype,
                                                                  initializer=init_ops.constant_initializer(init_val),
                                                                  trainable=False,
                                                      Severity: Minor
                                                      Found in tensorflow/python/tpu/tensor_tracer.py and 1 other location - About 30 mins to fix
                                                      tensorflow/python/tpu/tensor_tracer.py on lines 649..657

                                                      Duplicated Code

                                                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                      Tuning

                                                      This issue has a mass of 32.

                                                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                      Refactorings

                                                      Further Reading

                                                      There are no issues that match your filters.

                                                      Category
                                                      Status