La creación de Apps de Machine Learning es el presente. Las empresas y startup más "top" ya están integrando Machine Learning e Inteligencia Artificial en sus apps. Mientras lees esto, tu competencia avanza.
Quizás te hayas dado cuenta del inmenso horizonte de posibilidades cuando piensas en desarrollar una aplicación con Machine Learning. A pesar de haber vislumbrado este horizonte, tal vez no seas consciente de que la consultoría en Machine Learning está detrás de las películas que te recomienda Netflix, de la detección del fraude usando tarjetas de crédito e incluso de asistentes virtuales. Como puedes comprobar, lo están usando muchas de las grandes compañías del momento, y si lo hacen por algo será, por eso en este artículo voy a hablar de Machine Learning y te daré unos cuantos consejos para empezar a desarrollar aplicaciones con Aprendizaje Automático en Flutter.
En Abalit Technologies, nos apasiona trabajar con Machine Learning y contamos con un equipo de profesionales en Barcelona que pueden hacer realidad tu aplicación con Aprendizaje Automático. Si tienes cualquier idea de aplicación o necesitas asesoramiento, contáctanos de forma totalmente gratuita y sin compromiso.
Machine Learning (también conocida como ML o Aprendizaje Automático) es una rama de la Inteligencia Artificial que se basa en desarrollar técnicas para que las máquinas aprendan. Básicamente, la máquina aprende un proceso que va mejorando con el tiempo.
El Machine Learning tiene un ámbito increíblemente amplio en el campo del desarrollo de apps, tanto aplicaciones móviles, web o de escritorio. Entre sus usos están: los motores de búsqueda, análisis de mercados, clasificación de datos e imágenes, reconocimientos de voz y de escritura, juegos y robótica.
Quizás uno de los ejemplos más extendido sería el reconocimiento de imágenes. Usando Machine Learning, deberíamos preparar un modelo que fuera capaz de recogerlas. Al principio, tendríamos que darle unas cuantas imágenes indicando una puntuación a la que tendría que llegar y con el paso del tiempo y después del entrenamiento el propio modelo iría mejorando hasta que al final, si le pasásemos una imagen de una margarita nos dijera que, efectivamente, es una margarita.
Para poder usar Machine Learning en en desarrollo de aplicaciones tenemos una plataforma llamada TensorFlow.
TensorFlow, es una plataforma de código abierto de Google para el Aprendizaje Automático. Cuenta con una gran variedad de herramientas, bibliotecas y recursos de la comunidad que permite que TensorFlow esté constante evolución y que se pueda compilar e implementar con facilidad.
Podemos utilizar TensorFlow para JavaScript, para entornos de gran producción y para dispositivos móviles y de IoT. Como empres desarrolladora de apps con Machine Learning, vamos a centrarnos en TensorFlow para dispositivos móviles y vamos a descubrir cómo y para qué podemos utilizarlo.
Para implementar modelos de Aprendizaje Automático en móviles, vamos a utilizar TensorFlow Lite, que es un framework de código abierto para su uso en dispositivos. Vamos a ver unos cuantos ejemplos de funcionalidades que puede tener TensorFlow Lite para el desarrollo de aplicaciones.
Todo lo que hemos comentado anteriormente está disponible para Android e iOS. Sin embargo, todo esto lo tendríamos que hacer en nativo, aunque, actualmente existen algunas librerías en Flutter que nos va a permitir implementarlo en nuestra aplicación Flutter, lo veremos un poco más adelante. Si quieres adentrarte más en estos ejemplos puedes conseguir mucha más información en la documentación oficial de TensorFlow Lite.
Como hemos visto hasta ahora, TensorFlow Lite está hecho para poder ser utilizado en aplicaciones nativas tanto en Android como en iOS. Por suerte, existen dos librerías que nos permiten integrar TensorFlow en Flutter y nos pueden servir de gran ayuda para gestionar nuestros proyectos. Estas librerías son tflite_flutter y tflite, tanto una como la otra permiten una solución para algunos de los ejemplos que hemos visto con anterioridad.
Puedes ver estos ejemplos desde la documentación oficial de tflite_flutter y tflite.
Empezar de cero con Machine Learning es una tarea muy densa y puede resultar un poco agobiante, por eso TensorFlow ofrece guías para el desarrollo en diferentes niveles. Sin embargo, prácticamente desde el inicio, vamos a poder trabajar con modelos pre-entrenados para después terminar de entrenarlos y poder implementarlos en nuestra aplicación.
Como he indicado anteriormente, para desarrollar una aplicación en Flutter con TensorFlow debemos cumplir algunos requisitos.
En primer lugar, debemos descargarnos el modelo que queramos usar, aquí deberemos programar en Python, y deberemos crear algunos ficheros que Flutter necesita (labels.txt y model.tflite) para poder cargar el modelo y las etiquetas en nuestra aplicación Flutter.
En segundo lugar, deberemos crear nuestro proyecto en Flutter para poder utilizar TensorFlow Lite. Si queremos utilizar tflite, por ejemplo:
A partir de aquí tendremos que empezar con el diseño desde Flutter e implementar nuestro modelo. Por otra parte, si quisiéramos hacer una aplicación para detección de imágenes tendríamos que usar otros paquetes como image_picker. Anteriormente ya hemos visto la importancia de las diferentes librerías de Flutter y su importancia a la hora de desarrollar aplicaciones.
El Machine Learning es una tecnología fundamental para muchos tipos de aplicaciones, y no solo para clasificar imágenes y texto, si no para muchísimos más campos como el tratamiento de datos o para predecir patrones de comportamiento.
En resumen, como he comentado al principio del artículo, ya hay muchas grandes empresas que se están beneficiando de las grandes ventajas que ofrece el Machine Learning. Y, usando la plataforma de Google, TensorFlow, podremos llegar a hacer aplicaciones increíbles, con una capacidad de adaptación a los usuarios que jamás podríamos haber imaginado antes.
¿Mi consejo? Date prisa antes de que se te adelanten.
Finalmente ,si hablamos de TensorFlow, las herramientas que ofrece son increíbles y la curva de aprendizaje, si te quieres meter en el lío, es bastante adaptable para cualquier nivel de programación, por lo que, considero que TensorFlow es una herramienta fundamental para poder trabajar con Machine Learning y poner un pie en el futuro.
Si quieres más información sobre como desarrollar una aplicación en Flutter con TensorFlow utilizando Machine Learning puedes ponerte en contacto con nosotros, desde Abalit Technologies estaremos encantados de ayudarte.
Autor: I. Fuioaga, developer
Como expertos en Apps y Machine Learning, daremos forma a tu idea y evaluaremos su viabilidad técnica.
Diseñaremos el plan de ejecución de tu App con Machine Learning en Barcelona y lo consensuaremos contigo.
Desarrollaremos tu aplicación móvil integrando, en ella, Inteligencia Artificial. También nos encargaremos de publicarla en los stores.
¿Qué encontrarás en Abalit Technologies?