This Project is a small library with the purpose of giving a basic representation and an introduction to the world of neural networks with python without the need of using some kind of advance library of framework.
This library wants to give interested people a way of learning and understanding how neural networks works in a simple and nice manner. This library is not a work out of our imagination and is a representation of different sources as code, videos and books.
Most of this library is based on the work of Daniel Shiffman.
Wladymir Brborich and Alexander Mejía. developed this library.
Some considerations to take into account during the use of this library are:
- All of the examples, code and documentation found is for educational purpose only. This library does not aim to be used for complex problem solving or complex implementations.
- This library has been developed in python in its entirety with the use of different tools for representation and analysis.
- A big portion of the library is based in the work of Daniel Shiffman.
To run samples and code, all that is needed is to execute run_samples.py. This has:
- Perceptron samples
- Multilayered perceptron implementation
- Graphic representation of neural networks
- Animated representation of neural networks
To check the code, all is needed is to access to the nn_lib folder.
The code can be found here.
Learning resources can be found in the docs folder. This resources present theory for understanding how and why neural networks works. In addition, information of how the code has been mad and which programming concepts have been applied can be found in these resources.
Learning resources are here.
The tools used were:
- Text Editors
- Programming Language
- Libraries
Daniel Shiffman made the resource that helped to make these libraries and they are:
El proyecto presentado en este repositorio es una representación básica y una introducción a las redes neuronales con el uso de python sin necesidad de hacer uso de librerías o frameworks avanzados.
El propósito de esta librería es proporcionar una forma que permita a individuos interesados aprender y comprender redes neuronales de una manera simple y agradable con el uso de python. Claro está, que la implementación presentada en esta librería no está diseñada desde cero y presenta un sustento de diferentes fuentes tanto de código, multimedia y bibliográfico.
Gran parte de esta librería fue creada a base del código y material sobre redes neuronales desarrollado por Daniel Shiffman.
La librería en si fue desarrollada por Wladymir Brborich y Alexander Mejía.
Antes de hacer uso de esta librería se debe tomar en cuenta lo siguiente:
-
Todos los ejemplos y materiales encontrados en ella son de carácter puramente educativo tanto para sus desarrolladores y los interesados. No pretende ser una librería que puede usarse para resolver problemas completos.
-
Toda la librería presentada ha sido desarrollada en Python con el uso de diferentes herramientas propias del lenguaje para la representación y análisis realizados en el código.
-
Gran parte de los materiales presentados están hechos a base del trabajo de Daniel Shiffman.
Para hacer uso del código presentado y ver cómo es que este funciona lo que se debe realizar es correr el archivo run_samples.py. Se presentará un menú que permitirá:
- Revisar ejemplos de uso de perceptron
- Ejemplos de perceptron multicapa
- Representaciones graficas de redes neuronales simples
- Animaciones representativas de redes neuronales simples
Si se desea revisar el código en sí de cada parte se lo podrá realizar dentro de la carpeta nn_lib en esta se encuentra código representativo para cada operación y parte de la librería.
El código lo podemos encontrar aquí.
Los recursos de aprendizaje presentados en la librería lo podremos encontrar en docs, aquí se presenta la teoría base de las redes neuronales y una explicación de cómo funcionan las cosas y por qué funcionan. Se podrá encontrar documentación referente al aspecto teórico como a la implementación en Python en conjunto con las características o consideraciones tomadas en cuentas durante la construcción del código.
La documentación se encuentra aquí.
Las herramientas usadas para el desarrollo de esta herramienta han sido:
- Editores de texto:
- Lenguaje de programación:
- Librerias:
Los recursos que permitieron el desarrollo de esta librería se basó en el trabajo de Daniel Shiffman: