示例#1
0
文件: runner.py 项目: longears/rigor
 def run(self):
     """ This is the method called to run the algorithm. """
     percepts = self.get_percepts()
     checkpoint_status = ''
     results = list()
     checkpointer = NullCheckpointer()
     if self._checkpoint_filename:
         if os.path.exists(self._checkpoint_filename):
             with open(self._checkpoint_filename,
                       'rb') as old_checkpoint_file:
                 checkpointer, checkpoint = Checkpointer.resume(
                     old_checkpoint_file)
             results = checkpoint.results
             seen = checkpoint.seen
             percepts = [
                 percept for percept in percepts if percept.id not in seen
             ]
             checkpoint_status = ' (skipping {0} checkpointed)'.format(
                 len(seen))
         else:
             checkpoint_file = open(self._checkpoint_filename, 'wb')
             checkpointer = Checkpointer(self._parameters, checkpoint_file)
     self._logger.debug('Processing {0} percepts{1}'.format(
         len(percepts), checkpoint_status))
     with checkpointer:
         for percept in percepts:
             percept = self._algorithm.prefetch(percept)
             with self.fetch_data(percept) as percept_data:
                 result = self._algorithm.apply(percept, percept_data)
             checkpointer.log(percept.id, result)
             results.append(result)
     return self.evaluate(results)
示例#2
0
	def run(self):
		""" This is the method called to run the algorithm. """
		percepts = self.get_percepts()
		checkpoint_status = ''
		results = list()
		checkpointer = NullCheckpointer()
		if self._checkpoint_filename:
			if os.path.exists(self._checkpoint_filename):
				with open(self._checkpoint_filename, 'rb') as old_checkpoint_file:
					checkpointer, checkpoint = Checkpointer.resume(old_checkpoint_file)
				results = checkpoint.results
				seen = checkpoint.seen
				percepts = [percept for percept in percepts if percept.id not in seen]
				checkpoint_status = ' (skipping {0} checkpointed)'.format(len(seen))
			else:
				checkpoint_file = open(self._checkpoint_filename, 'wb')
				checkpointer = Checkpointer(self._parameters, checkpoint_file)
		self._logger.debug('Processing {0} percepts{1}'.format(len(percepts), checkpoint_status))
		with checkpointer:
			for percept in percepts:
				percept = self._algorithm.prefetch(percept)
				with self.fetch_data(percept) as percept_data:
					result = self._algorithm.apply(percept, percept_data)
				checkpointer.log(percept.id, result)
				results.append(result)
		return self.evaluate(results)
示例#3
0
文件: runner.py 项目: longears/rigor
    def parse_arguments(self, arguments):
        """
		Parses command-line arguments, and returns the result
		"""
        checkpoint_parser = argparse.ArgumentParser(add_help=False)
        checkpoint_parser.add_argument(
            '-c',
            '--checkpoint',
            type=argparse.FileType('rb'),
            required=False,
            help=
            'Resume from checkpoint file. If you specify this, all other options will be ignored.'
        )
        checkpoint_args, remaining = checkpoint_parser.parse_known_args(
            arguments)
        if checkpoint_args.checkpoint:
            _, arguments = Checkpointer.read_header(checkpoint_args.checkpoint)
            self._checkpoint_filename = checkpoint_args.checkpoint
            return arguments
        parser = argparse.ArgumentParser(
            description='Runs algorithm on relevant percepts',
            conflict_handler='resolve',
            usage='%(prog)s {-c | [options]}',
            parents=[
                checkpoint_parser,
            ])
        self.add_arguments(parser)
        return parser.parse_args(remaining)
示例#4
0
	def parse_arguments(self, arguments):
		"""
		Parses command-line arguments, and returns the result
		"""
		checkpoint_parser = argparse.ArgumentParser(add_help=False)
		checkpoint_parser.add_argument('-c', '--checkpoint', type=argparse.FileType('rb'), required=False, help='Resume from checkpoint file. If you specify this, all other options will be ignored.')
		checkpoint_args, remaining = checkpoint_parser.parse_known_args(arguments)
		if checkpoint_args.checkpoint:
			_, arguments = Checkpointer.read_header(checkpoint_args.checkpoint)
			self._checkpoint_filename = checkpoint_args.checkpoint
			return arguments
		parser = argparse.ArgumentParser(description='Runs algorithm on relevant percepts', conflict_handler='resolve', usage='%(prog)s {-c | [options]}', parents=[checkpoint_parser, ])
		self.add_arguments(parser)
		return parser.parse_args(remaining)