blank
14
Ene

Deep Learning: ¿Julia o Python?

El origen de lenguajes innovadores de programación, ha hecho que se potencie de alguna manera la arquitectura de código abierto. Cada día somos más conscientes de las características y particularidades del lenguaje de programación. Por eso siguen surgiendo nuevos lenguajes, para facilitar el trabajo a los desarrolladores. Así es que, en el mundo de la inteligencia artificial, es creciente la curiosidad por el lenguaje Python, pero ¿os suena de algo Julia?

A continuación, haremos una breve comparación entre ambos lenguajes para conocer cuál de ellos puede ser más productivo y cuáles son las diferencias.

¿Qué diferencia a Julia?

En primer lugar, es un lenguaje de programación que pretende hacer un único lenguaje con toda la eficiencia de los que conocemos. Se puede aplicar tanto en Deep Learning como en Big Data, además de álgebra lineal a gran escala y también computación distribuida y paralela. Por lo que podemos decir, que es un lenguaje que se lleva bien con la computación matemática y científica.

Una de sus principales características es la velocidad, es un programa que pretende facilitar y agilizar el tiempo a los científicos y analistas de datos. Sin embargo, esto ocurre en tareas complejas en la nube, tiene una ejecución más rápida que la de Python, es por eso que denota interés en el ámbito del Big Data.

Si hablamos de bibliotecas, Flux y Knet hacen que Julia sea más potente en Deep Learning y Machine Learning. Sin embargo, la mayoría de los proyectos se siguen realizando con Pytorch o TensorFlow. Si bien es cierto que Julia te permite utilizar bibliotecas tanto de Python como de C, quizá necesita desarrollar sus propias librerías para mejorar.

¿En qué sigue por delante Python?

Python es un lenguaje de programación más maduro. Se creó principalmente para el desarrollo web y ciencia de datos entre otros. Destaca por su visualización, además permite una mayor manipulación de cadenas y es ideal para scripts o aplicaciones rápidas. Se concilia bien con otras plataformas debido a su madurez, y por eso es más conocido.

A pesar de todo, Python sigue optimizando, por ejemplo, el procesamiento en paralelo, de hecho, se está volviendo más fácil de acelerar. 

Un ejemplo es el proyecto mypyc, que se está encargando de producir mejoras de rendimiento. Este proyecto trata de traducir Python con anotaciones en C, todo ello, con operaciones matemáticas cada vez más complejas.

¿Qué lenguaje utilizamos si queremos mejorar la productividad en Deep Learning?

Como hemos hablado, Julia tiene una sintaxis asequible con las matemáticas. Esto se debe a que es utilizado por ambientes relacionados con la informática como Matlab, Octave o R. Es por ello que la sintaxis de Julia, aparentemente, tiene relación con las matemáticas puras, lo que favorece el aprendizaje de no programadores. También debemos tener en cuenta, que Julia no siempre es más rápida que Python. Por lo tanto, debemos estudiar bien las técnicas de optimización de Python antes de decidir cambiarnos.  

Después de conocer las mejoras, está claro que, para cada proyecto, tendremos que conocer de primera mano las optimizaciones de cada lenguaje para mejorar el rendimiento de la inteligencia artificial. Esa será la mejor manera de optimizar nuestra eficiencia en posibles nuevos proyectos.

Más artículos de Cristina Pérez Lozano

Leave a Reply