def test_nodetype_function_definition_overwrites_default_function_name(fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) nodetype = nodenet.get_standard_nodetype_definitions()['Concept'].copy() foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction == concept nodetype['nodefunction_definition'] = 'return 17' foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction != concept assert foo.nodefunction(nodenet, None) == 17
def test_nodetype_function_definition_overwrites_default_function_name_theano(fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) nodetype = nodenet.get_standard_nodetype_definitions()['Register'].copy() foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction == register nodetype['nodefunction_definition'] = 'return 17' foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction != register assert foo.nodefunction(nodenet, None) == 17
def test_nodetype_function_definition_overwrites_default_function_name_theano(runtime, test_nodenet): nodenet = runtime.get_nodenet(test_nodenet) nodetype = nodenet.get_standard_nodetype_definitions()['Neuron'].copy() foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction == neuron nodetype['nodefunction_definition'] = 'return 17' foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction != neuron assert foo.nodefunction(nodenet, None) == 17
def test_nodetype_function_definition_overwrites_default_function_name( fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) nodetype = nodenet.get_standard_nodetype_definitions()['Concept'].copy() foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction == concept nodetype['nodefunction_definition'] = 'return 17' foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction != concept assert foo.nodefunction(nodenet, None) == 17
def test_nodetype_function_definition_overwrites_default_function_name_theano( fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) nodetype = nodenet.get_standard_nodetype_definitions()['Register'].copy() foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction == register nodetype['nodefunction_definition'] = 'return 17' foo = Nodetype(nodenet=nodenet, **nodetype) assert foo.nodefunction != register assert foo.nodefunction(nodenet, None) == 17
def __init__(self, name="", worldadapter="Default", world=None, owner="", uid=None, native_modules={}, use_modulators=True, worldadapter_instance=None): """Create a new MicroPsi agent. Arguments: agent_type (optional): the interface of this agent to its environment name (optional): the name of the agent owner (optional): the user that created this agent uid (optional): unique handle of the agent; if none is given, it will be generated """ super(DictNodenet, self).__init__(name, worldadapter, world, owner, uid, use_modulators=use_modulators, worldadapter_instance=worldadapter_instance) self.stepoperators = [DictPropagate(), DictCalculate()] if self.use_modulators: self.stepoperators.append(DoernerianEmotionalModulators()) self.stepoperators.sort(key=lambda op: op.priority) self._version = NODENET_VERSION # used to check compatibility of the node net data self._step = 0 self._nodes = {} self._nodespaces = {} self._nodetypes = {} for type, data in STANDARD_NODETYPES.items(): self._nodetypes[type] = Nodetype(nodenet=self, **data) self._native_modules = {} for type, data in native_modules.items(): self._native_modules[type] = Nodetype(nodenet=self, **data) self.nodegroups = {} self.initialize_nodenet({})
def reload_native_modules(self, native_modules): """ reloads the native-module definition, and their nodefunctions and afterwards reinstantiates the nodenet.""" self._native_modules = {} for key in native_modules: self._native_modules[key] = Nodetype(nodenet=self, **native_modules[key]) saved = self.export_json() self.clear() self.merge_data(saved, keep_uids=True)