def _examples_from_path_handler(self, request):
    """Returns JSON of the specified examples.

    Args:
      request: A request that should contain 'examples_path' and 'max_examples'.

    Returns:
      JSON of up to max_examlpes of the tf.train.Examples in the path.
    """
    examples_count = int(request.args.get('max_examples'))
    examples_path = request.args.get('examples_path')
    try:
      platform_utils.throw_if_file_access_not_allowed(examples_path,
                                                      self._logdir,
                                                      self._has_auth_group)
      example_strings = platform_utils.example_protos_from_path(
          examples_path, examples_count, parse_examples=False)
      self.examples = [
        tf.train.Example.FromString(ex) for ex in example_strings]
      self.generate_sprite(example_strings)
      json_examples = [
          json_format.MessageToJson(example) for example in self.examples
      ]
      self.updated_example_indices = set(range(len(json_examples)))
      return http_util.Respond(
          request,
          {'examples': json_examples,
           'sprite': True if self.sprite else False}, 'application/json')
    except common_utils.InvalidUserInputError as e:
      return http_util.Respond(request, {'error': e.message},
                               'application/json', code=400)
예제 #2
0
    def _examples_from_path_handler(self, request):
        """Returns JSON of the specified examples.

        Args:
          request: A request that should contain 'examples_path' and 'max_examples'.

        Returns:
          JSON of up to max_examlpes of the examples in the path.
        """
        examples_count = int(request.args.get("max_examples"))
        examples_path = request.args.get("examples_path")
        sampling_odds = float(request.args.get("sampling_odds"))
        self.example_class = (tf.train.SequenceExample
                              if request.args.get("sequence_examples")
                              == "true" else tf.train.Example)
        try:
            platform_utils.throw_if_file_access_not_allowed(
                examples_path, self._logdir, self._has_auth_group)
            example_strings = platform_utils.example_protos_from_path(
                examples_path,
                examples_count,
                parse_examples=False,
                sampling_odds=sampling_odds,
                example_class=self.example_class,
            )
            self.examples = [
                self.example_class.FromString(ex) for ex in example_strings
            ]
            self.generate_sprite(example_strings)
            json_examples = [
                json_format.MessageToJson(example) for example in self.examples
            ]
            self.updated_example_indices = set(range(len(json_examples)))
            return http_util.Respond(
                request,
                {
                    "examples": json_examples,
                    "sprite": True if self.sprite else False,
                },
                "application/json",
            )
        except common_utils.InvalidUserInputError as e:
            return http_util.Respond(request, {"error": e.message},
                                     "application/json",
                                     code=400)
  def _examples_from_path_handler(self, request):
    """Returns JSON of the specified examples.

    Args:
      request: A request that should contain 'examples_path' and 'max_examples'.

    Returns:
      JSON of up to max_examlpes of the examples in the path.
    """
    examples_count = int(request.args.get('max_examples'))
    examples_path = request.args.get('examples_path')
    sampling_odds = float(request.args.get('sampling_odds'))
    self.example_class = (tf.train.SequenceExample
        if request.args.get('sequence_examples') == 'true'
        else tf.train.Example)
    try:
      platform_utils.throw_if_file_access_not_allowed(examples_path,
                                                      self._logdir,
                                                      self._has_auth_group)
      example_strings = platform_utils.example_protos_from_path(
          examples_path, examples_count, parse_examples=False,
          sampling_odds=sampling_odds, example_class=self.example_class)
      self.examples = [
          self.example_class.FromString(ex) for ex in example_strings]
      self.generate_sprite(example_strings)
      json_examples = [
          json_format.MessageToJson(example) for example in self.examples
      ]
      self.updated_example_indices = set(range(len(json_examples)))
      return http_util.Respond(
          request,
          {'examples': json_examples,
           'sprite': True if self.sprite else False}, 'application/json')
    except common_utils.InvalidUserInputError as e:
      return http_util.Respond(request, {'error': e.message},
                               'application/json', code=400)