La respuesta es que un programador fullstack con conocimientos de Javascript, sí puede hacer desarrollos de aprendizaje automático.
Machine learning con Javascript
En general, la mayoría de las aplicaciones de Machine Learning son desarrolladas utilizando lenguajes de programación como Python; sin embargo, tenemos nuevas herramientas que hacen este tipo de aplicaciones sea más accesible a más desarrolladores.
¿Por qué un desarrollador web fullstack debe saber Machine Learning? Puede parecer que ML es una disciplina muy diferente al desarrollo web. Sin embargo, la tecnología demanda mantenerse al día con lo que está sucediendo, no necesariamente convirtiéndose en un súper experto en cada nueva tecnología o herramienta, sino al menos tener una idea de las posibilidades y los límites.
Y como se ha mencionado antes, ahora tenemos la posibilidad de explorar un nuevo tema sin tener que aprender también otro lenguaje de programación.
Y si analizamos lo rápido que se están moviendo las cosas y lo potentes que están empezando a ser las herramientas, en un futuro inmediato un programador Fullstack con conocimientos de Machine Learning será un trabajo muy demandado, de hecho, actualmente es conocido como desarrollador web ML.
TensorFlow.js.
Una de las herramientas que un desarrollador Fullstack posee para programar en este campo es TensorFlow.js. Es una biblioteca JavaScript de código abierto para el aprendizaje automático. Fue desarrollado por Google y es una biblioteca complementaria de TensorFlow, en Python. Esta herramienta le permite crear aplicaciones de aprendizaje automático que se pueden ejecutar en el navegador o en Node.js. De esta manera, los usuarios no necesitan instalar ningún software o controlador. Simplemente abrir una página web le permite interactuar con un programa.
TensorFlow.js funciona con WebGL y proporciona una API de capas de alto nivel para definir modelos y API de bajo nivel para álgebra lineal y admite la importación de modelos guardados de Keras. Otro aspecto interesante es que se pueden usar tanto los modelos listos para usar de JavaScript, o convertir los modelos de TensorFlow para Python y ejecutarlos en el navegador o con Node.js.
¿Y qué podemos hacer con Tensorflow.js?
Prácticamente todo lo que nos permite Tensorflow en Python, de hecho, la estructura funcional es muy similar:
- Podemos definir tensores y operaciones, usar diferentes plataformas y entornos de TensorFlow.js.
- Tenemos la capacidad de compilar un modelo en TensorFlow.js usando las capas y la API Core. Por supuesto nos permite entrenar modelos en distintos modos de entrenamiento. Guardar, usar y convertir modelos del ecosistema de TensorFlow.js.
- Combinar TensorFlow.js y tf.keras de Python.
- Usar TensorFlow.js en Node.js.
- Implementar un proyecto Node de TensorFlow.js en la nube.
En definitiva, un programador Fullstack experto en Javascript, puede usar herramientas que se salen de su campo y profundizar en el aprendizaje automático, convirtiéndose en un perfil mucho más polivalente y deseado por el mercado profesional.