Skip to content

Latest commit

 

History

History
33 lines (18 loc) · 2.27 KB

README.md

File metadata and controls

33 lines (18 loc) · 2.27 KB

pyhera

Heurestic Reasoning Agent (PyHERA) with Python at host and CUDA at device, integrated with PyCUDA.

Usage

This is set up as an agent that runs continuously. The inputs (sensory data) are injected on the dendrities, and the outputs (motor data) are extracted from axons.

It should be enough to clone the repo, then cd into the folder, and then run an agent with

python3 load.py -family:abraxas agent

If the agents resource requirements can't be satified it will dump an error report. Usually because the device is somehow constrained. To check if the device has sufficient resources, use the -simulate argument. The agent will then do all the calculations, but not load code and data into the device.

An agent is given a name, and upon normal termination it will write out the complete state to a named file. The file can then be used for a later invocation.

The agent can be run in interactive mode, or daemonized. In both cases the agent will keep on running contineously on the device, unless it is run in single step mode. When run in daemonized mode stdin, stdout, and stderr will be redirected to specified devices.

Signals

A few signals can be sent to the agent:

Notes

Pywikibot – The Pywikibot framework is used to make configuration easy, but also to provide access to the knowledge base Wikipedia and Wikidata. Parts of the bot is included as necessary.

PyCUDA – The PyCUDA framework is used to integrate python at the host with CUDA at the device, and fascilitate easy adaptation of the code according to the actual configuration. (Some kernel parameters must be known at compile time, but those parameters are only known at runtime.)

Licenses – The project as such has a license according to the Norwegian Copyright Lav (Åndsverkloven) with some additional rights granted. Parts from Pywikibot uses the MIT license.