コード例 #1
0
ファイル: communicator.py プロジェクト: verysure/ChemOS
	def __init__(self, settings, verbose = True):
		Printer.__init__(self, 'COMMUNICATOR', color = 'grey')
		self.settings = settings
		self.account_details = self.settings['account_details']

		self.account_details['exp_names'] = [exp['name'] for exp in self.settings['experiments']]
		self.verbose  = verbose
		self.option   = self.settings['communicator']['type']

		if self.option == 'auto':
			# prepare file dumping mechanism for all experiments
			for experiment in self.settings['experiments']:
				request = {'exp_identifier': experiment['name'], 'kind': 'start'}
				self.RECEIVED_REQUESTS.append(request)

		elif self.option == 'gmail':
			# prepare gmail communication
			# GMailCommunicator.__init__(self.account_details)
			self.bot = Bot()
			raise NotImplementedError

		elif self.option == 'twitter':
			# prepare twitter communication
			# TwitterCommunicator.__init__(self.account_details)
			self.bot = Bot()
			raise NotImplementedError

		elif self.option == 'slack':
			self._print('setting up Slack streaming')
			self.bot = Bot()
			SlackCommunicator.__init__(self, self.settings['communicator'], self.account_details)

		else:
			self._print('did not understand option: %s' % self.option)
			raise NotImplementedError
コード例 #2
0
ファイル: chemOS.py プロジェクト: Yuan-Hu-Pharma/ChemOS
    def __init__(self, verbose=True):
        Printer.__init__(self, 'CHEM_OS', color='green')
        self.verbose = verbose

        # initialize bot manager
        if self.verbose: self._print('initializing bot manager')
        self.bot_manager = BotManager(settings=self.SETTINGS)
        # FIXME: THE LINE BELOW DO NOT ALIGN WITH THE IDEAL WORKFLOW
        self.bot_manager.boot_bots()

        # initialize communicator
        if self.verbose: self._print('initializing communicator')
        self.communicator = Communicator(settings=self.SETTINGS)

        # initialize feedback handler
        if self.verbose: self._print('initializing feedback handler')
        self.feedback_handler = FeedbackHandler(settings=self.SETTINGS)

        # initialize request handler
        if self.verbose: self._print('initializing request handler')
        self.request_handler = RequestHandler(settings=self.SETTINGS)

        # initialize results handler
        if self.verbose: self._print('initializing results handler')
        self.results_handler = ResultsHandler(settings=self.SETTINGS)

        # initialize parameter generator
        if self.verbose: self._print('initializing parameter generator')
        self.param_generator = ParamGenerator(settings=self.SETTINGS)

        # initialize analyzer
        if self.verbose: self._print('initializing analyzer')
        self.analyzer = Analyzer(settings=self.SETTINGS)
コード例 #3
0
ファイル: bot_manager.py プロジェクト: verysure/ChemOS
    def __init__(self, settings, verbose=True):
        Printer.__init__(self, 'BOT MANAGER', color='red')
        self.settings = settings
        self.verbose = verbose
        self._create_database()

        # add all bots found in settings
        self._add_all_bots()
コード例 #4
0
ファイル: param_generator.py プロジェクト: verysure/ChemOS
    def __init__(self, settings, verbose=True):
        Printer.__init__(self, 'PARAMETER GENERATOR')
        self.settings = settings
        self.verbose = verbose

        self.settings['algorithm']['scratch_dir'] = self.settings[
            'scratch_dir']

        # importing the wrappers here allows to use one optimimization algorithm
        # without having installed the others

        if self.settings['algorithm']['name'] == 'phoenics':
            from ParamGenerator.Phoenics.phoenics_wrapper import PhoenicsWrapper
            self.optimization_algorithm = PhoenicsWrapper(
                self.settings['algorithm'])
        elif self.settings['algorithm']['name'] == 'smac':
            from ParamGenerator.SMAC.smac_wrapper import SmacWrapper
            self.optimization_algorithm = SmacWrapper(
                self.settings['algorithm'])
        elif self.settings['algorithm']['name'] == 'spearmint':
            from ParamGenerator.Spearmint.spearmint_wrapper import SpearmintWrapper
            self.optimization_algorithm = SpearmintWrapper(
                self.settings['algorithm'])
        elif self.settings['algorithm']['name'] == 'random_search':
            from ParamGenerator.RandomSearch.random_search_wrapper import RandomsearchWrapper
            self.optimization_algorithm = RandomsearchWrapper(
                self.settings['algorithm'])
        else:
            raise NotImplementedError

        self.BUSY = {
            experiment['name']: False
            for experiment in self.settings['experiments']
        }
        self.number_proposed_parameters = {
            experiment['name']: 0
            for experiment in self.settings['experiments']
        }

        self._create_database()
        self.number_proposed_recipes = {}
コード例 #5
0
    def __init__(self, settings, verbose=True):
        Printer.__init__(self, 'RESULTS HANDLER', color='yellow')
        self.settings = settings
        self.verbose = verbose

        self._create_database()
コード例 #6
0
    def __init__(self, settings, verbose=True):

        Printer.__init__(self, 'ANALYZER', color='grey')
        self.settings = settings
        self.verbose = verbose