Heuristic Reasoning Agent (PyHERA) with Python at host, and CUDA at device integrated with PyCUDA, or OpenCL at device integrated with PyOpenCL.
There are separate subrepositories for each of the models.
- python 3.7+
- poetry
- cliff
Models will typically have arequirement of either pycuda
or pyopencl
.
For those unfamiliar with poetry, it's a virtual environment and package manager. For development of this project pyenv
is used as a layer on top of virtualenv
.
Typically the repo is recreated by doing git clone
, optionally with --recursive
added to include documentation, then pyenv
to set up the virtual environment, and then poetry
.
Cloning the repo
git clone https://github.com/jeblad/heurestic-reasoning-agent.git # without docs
git clone --recursive https://github.com/jeblad/heurestic-reasoning-agent.git
Move into the repo before the next commands
cd heurestic-reasoning-agent
Creating the environment
pyenv install 3.7
pyenv local 3.7
Install poetry
curl -sSL https://install.python-poetry.org | python3 -
poetry --version
Init repo
poetry init
The managing software creates and runs an agent continuously. The inputs (sensory data) are injected on the dendrites artificial synapses, and the outputs (motor data) are extracted from axons.
It should be enough to clone the repo, then cd
into the folder, and then build a software agent with
hera --family abraxas build
and run the agent with
hera --identifier <whatever> up
A running agent can then be stopped with
hera --identifier <whatever> down
and then destroyed with
hera --identifier <whatever> destroy