Cargando…

PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems

Neuromorphic hardware offers an electronic substrate for the realization of asynchronous event-based sensory-motor systems and large-scale spiking neural network architectures. In order to characterize these systems, configure them, and carry out modeling experiments, it is often necessary to interf...

Descripción completa

Detalles Bibliográficos
Autores principales: Stefanini, Fabio, Neftci, Emre O., Sheik, Sadique, Indiveri, Giacomo
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Frontiers Media S.A. 2014
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4152885/
https://www.ncbi.nlm.nih.gov/pubmed/25232314
http://dx.doi.org/10.3389/fninf.2014.00073
_version_ 1782333184018481152
author Stefanini, Fabio
Neftci, Emre O.
Sheik, Sadique
Indiveri, Giacomo
author_facet Stefanini, Fabio
Neftci, Emre O.
Sheik, Sadique
Indiveri, Giacomo
author_sort Stefanini, Fabio
collection PubMed
description Neuromorphic hardware offers an electronic substrate for the realization of asynchronous event-based sensory-motor systems and large-scale spiking neural network architectures. In order to characterize these systems, configure them, and carry out modeling experiments, it is often necessary to interface them to workstations. The software used for this purpose typically consists of a large monolithic block of code which is highly specific to the hardware setup used. While this approach can lead to highly integrated hardware/software systems, it hampers the development of modular and reconfigurable infrastructures thus preventing a rapid evolution of such systems. To alleviate this problem, we propose PyNCS, an open-source front-end for the definition of neural network models that is interfaced to the hardware through a set of Python Application Programming Interfaces (APIs). The design of PyNCS promotes modularity, portability and expandability and separates implementation from hardware description. The high-level front-end that comes with PyNCS includes tools to define neural network models as well as to create, monitor and analyze spiking data. Here we report the design philosophy behind the PyNCS framework and describe its implementation. We demonstrate its functionality with two representative case studies, one using an event-based neuromorphic vision sensor, and one using a set of multi-neuron devices for carrying out a cognitive decision-making task involving state-dependent computation. PyNCS, already applicable to a wide range of existing spike-based neuromorphic setups, will accelerate the development of hybrid software/hardware neuromorphic systems, thanks to its code flexibility. The code is open-source and available online at https://github.com/inincs/pyNCS.
format Online
Article
Text
id pubmed-4152885
institution National Center for Biotechnology Information
language English
publishDate 2014
publisher Frontiers Media S.A.
record_format MEDLINE/PubMed
spelling pubmed-41528852014-09-17 PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems Stefanini, Fabio Neftci, Emre O. Sheik, Sadique Indiveri, Giacomo Front Neuroinform Neuroscience Neuromorphic hardware offers an electronic substrate for the realization of asynchronous event-based sensory-motor systems and large-scale spiking neural network architectures. In order to characterize these systems, configure them, and carry out modeling experiments, it is often necessary to interface them to workstations. The software used for this purpose typically consists of a large monolithic block of code which is highly specific to the hardware setup used. While this approach can lead to highly integrated hardware/software systems, it hampers the development of modular and reconfigurable infrastructures thus preventing a rapid evolution of such systems. To alleviate this problem, we propose PyNCS, an open-source front-end for the definition of neural network models that is interfaced to the hardware through a set of Python Application Programming Interfaces (APIs). The design of PyNCS promotes modularity, portability and expandability and separates implementation from hardware description. The high-level front-end that comes with PyNCS includes tools to define neural network models as well as to create, monitor and analyze spiking data. Here we report the design philosophy behind the PyNCS framework and describe its implementation. We demonstrate its functionality with two representative case studies, one using an event-based neuromorphic vision sensor, and one using a set of multi-neuron devices for carrying out a cognitive decision-making task involving state-dependent computation. PyNCS, already applicable to a wide range of existing spike-based neuromorphic setups, will accelerate the development of hybrid software/hardware neuromorphic systems, thanks to its code flexibility. The code is open-source and available online at https://github.com/inincs/pyNCS. Frontiers Media S.A. 2014-08-29 /pmc/articles/PMC4152885/ /pubmed/25232314 http://dx.doi.org/10.3389/fninf.2014.00073 Text en Copyright © 2014 Stefanini, Neftci, Sheik and Indiveri. http://creativecommons.org/licenses/by/3.0/ This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
spellingShingle Neuroscience
Stefanini, Fabio
Neftci, Emre O.
Sheik, Sadique
Indiveri, Giacomo
PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title_full PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title_fullStr PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title_full_unstemmed PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title_short PyNCS: a microkernel for high-level definition and configuration of neuromorphic electronic systems
title_sort pyncs: a microkernel for high-level definition and configuration of neuromorphic electronic systems
topic Neuroscience
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4152885/
https://www.ncbi.nlm.nih.gov/pubmed/25232314
http://dx.doi.org/10.3389/fninf.2014.00073
work_keys_str_mv AT stefaninifabio pyncsamicrokernelforhighleveldefinitionandconfigurationofneuromorphicelectronicsystems
AT neftciemreo pyncsamicrokernelforhighleveldefinitionandconfigurationofneuromorphicelectronicsystems
AT sheiksadique pyncsamicrokernelforhighleveldefinitionandconfigurationofneuromorphicelectronicsystems
AT indiverigiacomo pyncsamicrokernelforhighleveldefinitionandconfigurationofneuromorphicelectronicsystems