Proyecto fin de carrera. Trabajo final de grado (bachelorThesis).
Spiking generation neural network software for emulation hardware
Software de generación de redes neuronales "Spiking" para emulación hardware
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858
UPCommons. Portal del coneixement obert de la UPC
- Aldana Parra, Luis
Desenvolupar un software en Python que permeti a l'usuari definir, modificar, importar i exportar estructures de xarxes en un format compatible amb l'entorn de desenvolupament disponible al Departament. Realitzar proves de verificació amb emulació hardware de diverses xarxes SNN., The project introduced on this report belongs to a research conducted by the group of
Advanced Hardware Architectures from the Electronic Engineering Department from the
UPC, whose purpose is the development of multiprocessing architecture emulation for
Spiking Neural Networks (SNAVA) based on configurable devices. SNAVA is a scalable
architecture, multi-model, which allows the implementation of different applications and
neural models. In this context the neural topology required for each implementation,
needs to be defined by source and destination addresses that define the synaptic
connections between neurons. The addresses are currently made in a flat text file under
the required format. The drawback presented, especially for relatively large neural
networks is to enter this information manually with the consequent loss of time and the
probability of making typographical errors.
The objective of this work is to design and implement a graphical interface capable of
facilitating the creation of topological definition file from an SNN for SNAVA architecture.
To meet this goal it is imperative to have a clear idea of the required for synaptic
connections definition format as well as the different network configurations that can be
implemented with this architecture. Depending on user needs it is imperative to choose
the most suitable development tool.
After understanding the basic operation of SNAVA and define what types of networks the
software has to create, tutors and I decided to use Python and PyQt Python library.
The result is a simple graphical interface capable of reducing the time and number of
errors when creating topological definition file., El projecte presentat a continuació forma part d’un treball d’investigació dut a terme pel
grup d’Arquitectura Avançada de Hardware del Departament d’enginyeria electrònica de
la UPC, la finalitat del qual es el desenvolupament d’una Arquitectura de
Multiprocessament per l’emulació de Xarxes Neuronals tipus Spiking (SNAVA) basat en
dispositius configurables. SNAVA es una arquitectura escalable, multimodel, que permet
la implementació de diferents aplicacions i models neuronals. En aquest context la
topologia neuronal requerida per cada implementació, necessita ser definida mitjançant
direccions d’origen i destí que defineixen les connexions sinàptiques entre neurones. Les
direccions actualment son introduïdes en un arxiu pla de text, sota el format requerit.
L’inconvenient que es presenta, especialment per xarxes neuronals relativament grans
es introduir aquesta informació de manera manual amb la conseqüent pèrdua de temps i
la probabilitat de cometre errors tipogràfics.
En aquest sentit, l’objectiu del treball serà dissenyar e implementar una interfase gràfica
capaç de facilitar la creació del arxiu de definició topològica d’una SNN per l’arquitectura
SNAVA. Per complir amb aquest objectiu es imperatiu tenir una idea clara del format
requerit per a la definició de connexions sinàptiques, així com les diferents
configuracions de xarxa que es poden implementar amb l’arquitectura disponible i així,
en funció de les necessitats del usuari escollir l’eina de desenvolupament adequada.
Després de comprendre el funcionament bàsic de SNAVA i definir que tipus de xarxes ha
de crear el software, els tutors y jo vam decidir utilitzar Python amb la llibreria PyQt.
El resultat es una interfase gràfica senzilla capaç de reduir el temps i el número d’errors
al crear l’arxiu de definició topològica., El proyecto presentado en el presente reporte forma parte de un trabajo de investigación
llevado a cabo por el grupo de Arquitecturas Avanzadas de Hardware del Departamento
de Ingeniería Electrónica de la UPC, cuya finalidad es el desarrollo de una Arquitectura
de Multiprocesamiento para la emulación de Redes Neuronales tipo Spiking (SNAVA)
basada en dispositivos configurables. SNAVA es una arquitectura escalable, multimodelo,
que permite la implementación de diferentes aplicaciones y modelos neuronales. En
este contexto la topología neuronal requerida para cada implementación, necesita ser
definida mediante direcciones origen y destino que definen las conexiones sinápticas
entre neuronas. Las direcciones actualmente son introducidas en un archivo plano de
texto, bajo el formato requerido. El inconveniente que se presenta, especialmente para
redes neuronales relativamente grandes es introducir esta información manualmente con
la consecuente pérdida de tiempo y la probabilidad de cometer errores tipográficos.
En este sentido, el objetivo de este trabajo será diseñar e implementar una interface
gráfica capaz de facilitar la creación del archivo de definición topológica de una SNN
para la arquitectura SNAVA. Para cumplir con este objetivo es imperativo tener una
idea clara del formato requerido para la definición de conexiones sinápticas, así como las
diferentes configuraciones de red que se pueden implementar con dicha arquitectura.
Para así, en función de las necesidades del usuario escoger la herramienta de
desarrollo más adecuada.
Tras comprender el funcionamiento básico de SNAVA y definir qué tipos de redes tiene
que crear el software, los tutores y yo decidimos usar Python con la librería PyQt.
El resultado es una interface gráfica sencilla capaz de reducir el tiempo y el número de
errores al crear el archivo de definición topológica.
DOI: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858
HANDLE: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858
Ver en: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858