def __init__(self,**params): Parameterized.__init__(self,**params) for (name,value) in self.get_param_values(): if value == None: logger.error("The parameter %s was not initialized" % name) raise ValueError("The parameter %s was not initialized" % name)
def __init__(self, **params): self.cached_get_param_values = None Parameterized.__init__(self, **params) self.module_path = inspect.getmodule(self).__name__ self.name = self.__class__.__name__ for name in self.params(): o = self.params()[name] if not (isinstance(o,SNumber) or isinstance(o,SInteger) or isinstance(o,SString) or isinstance(o,SParameterSet)): raise ValueError("The parameter %s is not of type SNumber or SInteger or SString or SParameterSet but of type %s." % (name,type(o))) for (name, value) in self.get_param_values(): if value == None and self.params()[name].allow_None==False: logger.error("The parameter %s was not initialized" % name) raise ValueError("The parameter %s was not initialized" % name) def _expand_parameter_set(ps): """ Helper function that expands parameter set. """ ret = [] for k in ps.keys(): if isinstance(ps[k],MozaikExtendedParameterSet): ret += [(k + '_' + p,v) for p,v in _expand_parameter_set(ps[k])] else: ret.append((k,ps[k])) return ret # find out which params are SParameterSet self.paramset_params_names = [ps for ps in self.params().keys() if isinstance(self.params()[ps],SParameterSet)] # store expanded SParameterSet parameters self.expanded_paramset_params = [] for ps in self.paramset_params_names: if getattr(self,ps) != None: self.expanded_paramset_params+=_expand_parameter_set(getattr(self,ps)) self.expanded_paramset_params.sort(key=lambda tup: tup[0]) if self.expanded_paramset_params != []: self.expanded_params_names = zip(*self.expanded_paramset_params)[0] else: self.expanded_params_names= [] assert ((set([t[0] for t in self.expanded_paramset_params]) & set(self.params().keys())) == set([])) , ("Conflict between MozaikParametrized and expanded ParameterSet parameters. Intersection: %s " % str(set([t[0] for t in self.expanded_paramset_params]) & set(self.params().keys()))) # and lets also have a dictionary version of the parameters self.expanded_paramset_params_dict = self.params().copy() # remove SParemeterSet parameters for key in self.expanded_paramset_params_dict.keys(): if isinstance(self.expanded_paramset_params_dict[key],SParameterSet): del self.expanded_paramset_params_dict[key] self.expanded_paramset_params_dict.update(dict(self.expanded_paramset_params))
def __init__(self, **params): self.cached_get_param_values = None Parameterized.__init__(self, **params) self.module_path = inspect.getmodule(self).__name__ self.name = self.__class__.__name__ for name in self.params(): o = self.params()[name] if not (isinstance(o,SNumber) or isinstance(o,SInteger) or isinstance(o,SString) or isinstance(o,SParameterSet)): raise ValueError("The parameter %s is not of type SNumber or SInteger or SString or SParameterSet but of type %s." % (name,type(o))) for (name, value) in self.get_param_values(): if value == None and self.params()[name].allow_None==False: logger.error("The parameter %s was not initialized" % name) raise ValueError("The parameter %s was not initialized" % name) def _expand_parameter_set(ps): """ Helper function that expands parameter set. """ ret = [] for k in ps.keys(): if isinstance(ps[k],MozaikExtendedParameterSet): ret += [(k + '_' + p,v) for p,v in _expand_parameter_set(ps[k])] else: ret.append((k,ps[k])) return ret # find out which params are SParameterSet self.paramset_params_names = [ps for ps in self.params().keys() if isinstance(self.params()[ps],SParameterSet)] # store expanded SParameterSet parameters self.expanded_paramset_params = [] for ps in self.paramset_params_names: if getattr(self,ps) != None: self.expanded_paramset_params+=_expand_parameter_set(getattr(self,ps)) self.expanded_paramset_params.sort(key=lambda tup: tup[0]) if self.expanded_paramset_params != []: self.expanded_params_names = zip(*self.expanded_paramset_params)[0] else: self.expanded_params_names= [] assert ((set([t[0] for t in self.expanded_paramset_params]) & set(self.params().keys())) == set([])) , ("Conflict between MozaikParametrized and expanded ParameterSet parameters. Intersection: %s " % str(set([t[0] for t in self.expanded_paramset_params]) & set(self.params().keys()))) # and lets also have a dictionary version of the parameters self.expanded_paramset_params_dict = self.params().copy() # remove SParemeterSet parameters for key in self.expanded_paramset_params_dict.keys(): if isinstance(self.expanded_paramset_params_dict[key],SParameterSet): del self.expanded_paramset_params_dict[key] self.expanded_paramset_params_dict.update(dict(self.expanded_paramset_params))
def __init__(self, datastore, **params): Parameterized.__init__(self, **params) self.datastore = datastore ### lets first find the values of the two parameters in the datastore self.x_axis_values = list(parameter_value_list(datastore.get_analysis_result(),self.x_axis_parameter)) self.y_axis_values = list(parameter_value_list(param_filter_query(datastore,**{self.x_axis_parameter:self.x_axis_values[0]}).get_analysis_result(),self.y_axis_parameter)) ### and verify it forms a grid for v in self.x_axis_values: assert set(self.y_axis_values) == parameter_value_list(param_filter_query(datastore,**{self.x_axis_parameter:v}).get_analysis_result(),self.y_axis_parameter)
def __init__(self, datastore, **params): Parameterized.__init__(self, **params) self.datastore = datastore ### lets first find the values of the two parameters in the datastore self.x_axis_values = list(parameter_value_list(datastore.get_analysis_result(),self.x_axis_parameter)) self.y_axis_values = list(parameter_value_list(param_filter_query(datastore,**{self.x_axis_parameter:self.x_axis_values[0]}).get_analysis_result(),self.y_axis_parameter)) ### and verify it forms a grid for v in self.x_axis_values: assert set(self.y_axis_values) == parameter_value_list(param_filter_query(datastore,**{self.x_axis_parameter:v}).get_analysis_result(),self.y_axis_parameter)
def __init__(self, **params): Parameterized.__init__(self, **params) self.module_path = inspect.getmodule(self).__name__ self.name = self.__class__.__name__ for name in self.params(): o = self.params()[name] if not (isinstance(o,SNumber) or isinstance(o,SInteger) or isinstance(o,SString)): raise ValueError("The parameter %s is not of type SNumber or SInteger or SString" % name) for (name, value) in self.get_param_values(): if value == None and self.params()[name].allow_None==False: logger.error("The parameter %s was not initialized" % name) raise ValueError("The parameter %s was not initialized" % name)
def __init__(self, **params): Parameterized.__init__(self, **params) self.module_path = inspect.getmodule(self).__name__ self.name = self.__class__.__name__ for name in self.params(): o = self.params()[name] if not (isinstance(o, SNumber) or isinstance(o, SInteger) or isinstance(o, SString)): raise ValueError( "The parameter %s is not of type SNumber or SInteger or SString" % name) for (name, value) in self.get_param_values(): if value == None and self.params()[name].allow_None == False: logger.error("The parameter %s was not initialized" % name) raise ValueError("The parameter %s was not initialized" % name)