def __init__(self, variables, mini_batch_size, state_updates, dataset, updates=None): theano_variables = [] monitored_quantities = [] for variable in variables: if isinstance(variable, MonitoredQuantity): monitored_quantities.append(variable) else: theano_variables.append(variable) self.theano_variables = theano_variables self.monitored_quantities = monitored_quantities variable_names = [v.name for v in variables] if len(set(variable_names)) < len(variables): raise ValueError("variables should have different names") self.theano_buffer = AggregationBuffer(theano_variables) self.monitored_quantities_buffer = MonitoredQuantityBuffer( monitored_quantities) self.dataset = dataset self.updates = updates self.mini_batch_size = mini_batch_size self._compile(state_updates)
def __init__(self, variables, **kwargs): kwargs.setdefault("before_training", True) super(TrainingDataMonitoring, self).__init__(**kwargs) self.add_condition(['after_batch'], arguments=('just_aggregate', )) self._non_variables = [] self._variables = [] for variable_or_not in variables: if isinstance(variable_or_not, theano.Variable): self._variables.append(variable_or_not) elif isinstance(variable_or_not, MonitoredQuantity): self._non_variables.append(variable_or_not) else: raise ValueError("can not monitor {}".format(variable_or_not)) self._non_variables = MonitoredQuantityBuffer(self._non_variables) self._required_for_non_variables = AggregationBuffer( [take_last(v) for v in self._non_variables.requires]) self._variables = AggregationBuffer(self._variables, use_take_last=True) self._last_time_called = -1
def __init__(self, picsources=None, pattern=None, title=None, data=None, graph=None, graph_len=None, unit_order=None, **kwargs): kwargs.setdefault("before_training", True) self.picsources = picsources self.count = 0 if pattern is None: pattern = 'pics/syn/%s_%04d.jpg' self.pattern = pattern self.unit_order = unit_order self.title = title self.data = data self.graph = graph self.graph_len = graph_len self.graph_data = None # Now create an AggregationBuffer for theano variables to monitor self.variables = AggregationBuffer(data, use_take_last=True) super(SaveImages, self).__init__(**kwargs)
def __init__(self, variables, **kwargs): kwargs.setdefault("before_training", True) super(TrainingDataMonitoring, self).__init__(**kwargs) self._buffer = AggregationBuffer(variables, use_take_last=True) self._last_time_called = -1