Esempio n. 1
0
  def add_annotation(self, name_scope='annotation'):
    """Adds an annotation pipeline to the graph.

    This will create the following additional named targets by default, for use
    in C++ annotation code (as well as regular ComputeSession targets):
      annotation/ComputeSession/session_id (placeholder for giving unique id)
      annotation/EmitAnnotations (get annotated data)

    Args:
      name_scope: Scope for the annotation pipeline.

    Returns:
      A dictionary of input and output nodes.
    """
    with tf.name_scope(name_scope):
      handle, input_batch = self._get_session_with_reader()
      handle = self.build_inference(handle,
                                    use_moving_average=True,
                                    clear_existing_annotations=True)

      annotations = dragnn_ops.emit_annotations(
          handle, component=self.spec.component[-1].name)
      outputs = {'annotations': annotations}

      return self._outputs_with_release(handle, {'input_batch': input_batch},
                                        outputs)
Esempio n. 2
0
  def add_annotation(self, name_scope='annotation', enable_tracing=False):
    """Adds an annotation pipeline to the graph.

    This will create the following additional named targets by default, for use
    in C++ annotation code (as well as regular ComputeSession targets):
      annotation/ComputeSession/session_id (placeholder for giving unique id)
      annotation/EmitAnnotations (get annotated data)
      annotation/GetComponentTrace (get trace data)
      annotation/SetTracing (sets tracing based on annotation/tracing_on)

    Args:
      name_scope: Scope for the annotation pipeline.
      enable_tracing: Enabling this will result in two things:
          1. Tracing will be enabled during inference.
          2. A 'traces' node will be added to the outputs.

    Returns:
      A dictionary of input and output nodes.
    """
    with tf.name_scope(name_scope):
      handle, input_batch = self._get_session_with_reader(enable_tracing)
      handle = self.build_inference(handle, use_moving_average=True)

      annotations = dragnn_ops.emit_annotations(
          handle, component=self.spec.component[-1].name)
      outputs = {'annotations': annotations}

      if enable_tracing:
        outputs['traces'] = dragnn_ops.get_component_trace(
            handle, component=self.spec.component[-1].name)

      return self._outputs_with_release(handle, {'input_batch': input_batch},
                                        outputs)
    def add_annotation(self, name_scope='annotation', enable_tracing=False):
        """Adds an annotation pipeline to the graph.

    This will create the following additional named targets by default, for use
    in C++ annotation code (as well as regular ComputeSession targets):
      annotation/ComputeSession/session_id (placeholder for giving unique id)
      annotation/EmitAnnotations (get annotated data)
      annotation/GetComponentTrace (get trace data)
      annotation/SetTracing (sets tracing based on annotation/tracing_on)

    Args:
      name_scope: Scope for the annotation pipeline.
      enable_tracing: Enabling this will result in two things:
          1. Tracing will be enabled during inference.
          2. A 'traces' node will be added to the outputs.

    Returns:
      A dictionary of input and output nodes.
    """
        with tf.name_scope(name_scope):
            handle, input_batch = self._get_session_with_reader(enable_tracing)
            handle = self.build_inference(handle, use_moving_average=True)

            annotations = dragnn_ops.emit_annotations(
                handle, component=self.spec.component[-1].name)
            outputs = {'annotations': annotations}

            if enable_tracing:
                outputs['traces'] = dragnn_ops.get_component_trace(
                    handle, component=self.spec.component[-1].name)

            return self._outputs_with_release(handle,
                                              {'input_batch': input_batch},
                                              outputs)
Esempio n. 4
0
    def add_annotation(self, name_scope='annotation'):
        """Adds an annotation pipeline to the graph.

    This will create the following additional named targets by default, for use
    in C++ annotation code (as well as regular ComputeSession targets):
      annotation/ComputeSession/session_id (placeholder for giving unique id)
      annotation/EmitAnnotations (get annotated data)

    Args:
      name_scope: Scope for the annotation pipeline.

    Returns:
      A dictionary of input and output nodes.
    """
        with tf.name_scope(name_scope):
            handle, input_batch = self._get_session_with_reader()
            handle = self.build_inference(handle,
                                          use_moving_average=True,
                                          clear_existing_annotations=True)

            annotations = dragnn_ops.emit_annotations(
                handle, component=self.spec.component[-1].name)
            outputs = {'annotations': annotations}

            return self._outputs_with_release(handle,
                                              {'input_batch': input_batch},
                                              outputs)