def pattern2neuralnet(pattern, verbose=0): """ Apply this to a pattern object, and it will behave similar to a nolearn.lasagne.NeuralNet object. """ pattern.layers = [] pattern.layers_ = Layers() pattern.verbose = verbose for fn_name in ['phi', 'psi', 'beta']: if fn_name not in pattern.__dict__ or pattern.__dict__[fn_name] is None: continue fn = pattern.__dict__[fn_name] for i, l in enumerate(pattern._get_all_function_layers(fn)): name = l.name dct = l.__dict__ if name is None: name = "" prefix = "%s%d" % (fn_name, i) if prefix not in name: name = prefix + ("_" + name if name != "" else name) dct['name'] = name pattern.layers_[name] = l pattern.layers.append((l.__class__, dct)) return pattern
def layers(self): from nolearn.lasagne.base import Layers return Layers([('one', 1), ('two', 2), ('three', 3)])