Library for IQIF. A binary libiq
for native C++ runtime and shared libraries libiq-network
, libiz-network
, and liblif-network
are included. Please see below for running/installing instructions.
-
OpenMP >= 4.5
-
python3-matplotlib (plotting function)
-
gcc (C++11)
-
cmake >= 3.9
-
checkinstall (Debian-based packaging)
-
base-devel (Arch-based packaging)
libiq-network.so
, libiz-network.so
, and liblif-network.so
can be used for bridging to python-iqif.
mkdir build && cd build
cmake .. (-DCMAKE_INSTALL_PREFIX=<your preferred directory>)
make -j
sudo make install
Instead of sudo make install
you can use
sudo checkinstall --pkgname iq-neuron
Uninstall the package with sudo dpkg -r iq-neuron
.
First download the PKGBUILD, go to the working directory, then
makepkg -si
Uninstall the package with sudo pacman -Rs iq-neuron
.
Please see the tutorial first.
You can change the synaptic weights in the Connection Table. The numbers in each lines are pre-synapse neuron index, post-synapse neuron index, weight, time constant
respectively.
You can change the neuron parameters in the neuron parameter file. The parameters in each lines are neuron index, rest potential, threshold potential, reset potential, noise strength
respectively.
It is recommended to use multithreading only when number of neurons is large (>100 for example).
I also have Izhikevich model and Leaky integrate-and-fire model for comparison. They are already in the shared libs. You need to change the main code to let it work in binary though.
Run the IQIF directly using libiq
binary. Use this method if you feel more comfortable with C++ instead of Python.
mkdir build && cd build
cmake ..
make -j
./libiq < ../inputs/session.txt (or use your custom session)
../utils/iq_plot.py