Python es probablemente el lenguaje más popular hoy día. Ha desplazado a Java y a C en muchos sentidos. El lenguaje, diseñado en los años 80s del siglo pasado, ha mostrado una constante evolución y su facilidad de uso y su parecido con el lenguaje natural para expresar ideas en una app, parecen haber motivado su crecimiento.

Esto ha llevado tiempo pero hoy día Python tiene una enorme biblioteca de toda clase de rutinas para prácticamente cualquier tema. Gracias a estas bibliotecas, los desarrolladores pueden escribir software en muchas menos líneas de código y además, ser más productivos.

La simplicidad de Python ha permitido que muchos programadores generen nuevas bibliotecas y en el tema de moda, el aprendizaje de máquinas, el cual ya lleva tiempo entre nosotros y las bibliotecas de desarrollo siguen creciendo en número.

Python es el lenguaje más popular hoy por hoy

Keras

Esta es una biblioteca estupenda para el aprendizaje de máquinas vía Python. Hace quer el expresar redes neuronales sera muy fácil pues da algunas de las mejores herramientas para compilar modelos, procesar conjuntos de datos, visualizar gráficas y mucho más.

Keras usa TensorFlow o Theanos como backend y da modelos portátiles útiles. Lo mejor de esta biblioteca es que soporta casi todos los modelos de redes neuronales: totalmente conectadas, convolucionadas, pooling, recurrentes, etcétera.

Keras es usado por Netflix, Uber, Yelp, Instacart, Zocdoc y Square, entre otros.

Numpy

Otra biblioteca popular de aprendizaje de máquinas para Python. Es fácil de usar, interactiva e intuitiva. Puede lograr implementaciones matemáticas de manera muy sencilla.

Numpy puede ser usada para expresar imágenes, sonidos y otros datos que se representan normalmente como un arreglo de números reales en N dimensiones.

TensorFlow usa Numpy internamente para ejecutar las múltiples operaciones sobre Tensores.

TensorFlow

Esta es una biblioteca de código abierto desarrollada por Google, en colaboración con Brain Team. TensorFlow se usa principalmente cuando se requieren muchos cálculos. Como una red neuronal es una gráfica computacional, puede ser implementada como una serie de operaciones sobre tensores, usando TensorFlow.

Los tensores no son otra cosa que matrices N-dimensionales que representan a los datos. Pero además, TensorFlow permite visualizar cada parte de la gráfica, lo que no pueden hacer otras bibliotecas. Entre otras de sus virtudes, puede ser entrenada para usarse con un procesador (CPU) o bien, con GPUs, en un ambiente de procesamiento distribuido.

Google usa TensorFlow en casi todas sus aplicaciones de aprendizaje de máquinas.

Fuchsia OS, el “sustituto de Android” da nuevas señales de vida

Scikit-Learn

Esta biblioteca es una de las mejores para trabajar con datos complejos. Se asocia con NumPy y SciPy, y tiene muchas características útiles.

Por ejemplo, en la última versión ha modificado su característica de validación cruzada, la cual da la posibilidad de usar más de una métrica. Otros métodos de entrenamiento como regresión logística y el vecino más cercano, también han sido mejoradas.

Scikit-Learn da muchos algoritmos para implementar las tareas clásicas en el aprendizaje de máquinas, reduciendo la dimensionalidad, clasificación, regresión y clustering.

PyTorch

Esta biblioteca está basada en Torch, una biblioteca de aprendizaje de máquinas desarrollado en código abierto pero en C, bajo Lua. PyTorch permite a los programadores crear gráficas computacionales dinámicas y calcular gradientes automáticamente.

Ofrece un rico conjunto de APIs para resolver los problemas de las aplicaciones relativos a las redes neuronales.  PyTorch se ha usado para aplicaciones de lenguaje natural. Se considera un «backbone» de TensorFlow.