def get_weights_topo(self): if not isinstance(self.input_space, Conv2DSpace): raise NotImplementedError() desired = self.W.get_value().T ipt = self.desired_space.format_as(desired, self.input_space) rval = Conv2DSpace.convert_numpy(ipt, self.input_space.axes, ('b', 0, 1, 'c')) return rval
def convert_to_axes(reference_result, axes): # assuming we have b c 0 1 (2) for reference if (reference_result.ndim == 4): return Conv2DSpace.convert_numpy(reference_result, ('b', 'c', 0, 1), axes) elif (reference_result.ndim == 5): return Conv3DSpace.convert_numpy(reference_result, ('b', 'c', 0, 1, 2), axes) else: raise ValueError(("Expect result to have 4 or 5 dims, " "has {:d} dims".format(reference_result.ndim)))
design_X = X design_X_sequence = X_sequence zeroed = (1.-drop_mask) * X zeroed = dataset.get_topological_view(dataset.mapback_for_viewer(dataset.get_design_matrix(zeroed))) M = dataset.get_topological_view(dataset.mapback_for_viewer(design_X)) print (M.min(), M.max()) M_sequence = [ dataset.get_topological_view(dataset.mapback_for_viewer(mat)) for mat in design_X_sequence ] X = dataset.adjust_to_be_viewed_with(Xt,Xt,per_example=True) if X_sequence[0].ndim == 2: X_sequence = [ dataset.get_topological_view(mat) for mat in X_sequence ] else: model_axes = model.get_input_space().axes display_axes = ('b', 0, 1, 'c') X = Conv2DSpace.convert_numpy(X, model_axes, display_axes) Xt = Conv2DSpace.convert_numpy(Xt, model_axes, display_axes) drop_mask = Conv2DSpace.convert_numpy(drop_mask, model_axes, display_axes) X_sequence = [Conv2DSpace.convert_numpy(elem, model_axes, display_axes) for elem in X_sequence] X_sequence = [ dataset.adjust_to_be_viewed_with(mat,Xt,per_example=True) for mat in X_sequence ] if cost.supervised: rows += m drop_mask_Y = outputs[end_X_outputs] Y_sequence = outputs[end_X_outputs+1:] pv = PatchViewer( (rows, cols), (X.shape[1], X.shape[2]), is_color = True, pad = (8,8) )
dataset.mapback_for_viewer(dataset.get_design_matrix(zeroed))) M = dataset.get_topological_view(dataset.mapback_for_viewer(design_X)) print(M.min(), M.max()) M_sequence = [ dataset.get_topological_view(dataset.mapback_for_viewer(mat)) for mat in design_X_sequence ] X = dataset.adjust_to_be_viewed_with(Xt, Xt, per_example=True) if X_sequence[0].ndim == 2: X_sequence = [dataset.get_topological_view(mat) for mat in X_sequence] else: model_axes = model.get_input_space().axes display_axes = ('b', 0, 1, 'c') X = Conv2DSpace.convert_numpy(X, model_axes, display_axes) Xt = Conv2DSpace.convert_numpy(Xt, model_axes, display_axes) drop_mask = Conv2DSpace.convert_numpy(drop_mask, model_axes, display_axes) X_sequence = [ Conv2DSpace.convert_numpy(elem, model_axes, display_axes) for elem in X_sequence ] X_sequence = [ dataset.adjust_to_be_viewed_with(mat, Xt, per_example=True) for mat in X_sequence ] if cost.supervised: rows += m