Aprendizaje automático: integración de Tensorflow en Android
Como todos sabemos, Google ha abierto una biblioteca llamada TensorFlow que se puede usar en Android para implementar Machine Learning.
TensorFlow es una biblioteca de software de código abierto para Machine Intelligence proporcionada por Google.
- ¿Podemos regularizar la red neuronal profunda desconectando enlaces entre unidades, en lugar de abandonar unidades seleccionadas al azar?
- ¿Por qué el algoritmo de agrupación k-means se considera un algoritmo de aprendizaje no supervisado? ¿Qué es "aprender"? ¿No es solo otro algoritmo codicioso?
- ¿Cómo podemos usar la cadena de Monte Carlo Markov y bayesiano no paramétrico para la reducción de dimensionalidad?
- ¿Cuáles fueron algunos de los artículos de conferencias / revistas de investigación del discurso más interesantes / dignos de mención en 2012?
- ¿Alguien tiene experiencia con las patentes de Digital Infuzion en aprendizaje automático y reducción de dimensiones? ¿Qué hace que sus patentes sean especiales?
Busqué mucho en Internet pero no encontré una manera simple o un ejemplo simple para construir TensorFlow para Android. Después de pasar por muchos recursos, pude construirlo. Entonces, decidí escribir en él para que no tomara tiempo para otros.
Crédito: El ejemplo de clasificador se ha tomado del ejemplo de Google TensorFlow.
Este artículo es para aquellos que ya están familiarizados con el aprendizaje automático y saben cómo construir el modelo para el aprendizaje automático (para este ejemplo, usaré un modelo pre-entrenado). Antes escribiré una serie de artículos sobre aprendizaje automático para que todos puedan aprender a construir el modelo para el aprendizaje automático.
Comencemos con el proceso de construcción para Android
Pocos consejos importantes que debemos saber:
- El núcleo de TensorFlow está escrito en c ++.
- Para compilar para Android, tenemos que usar JNI (Java Native Interface) para llamar a las funciones de c ++ como loadModel, getPredictions, etc.
- Tendremos un archivo .so (objeto compartido) que es un archivo compilado de c ++ y un archivo jar que consistirá en la API de JAVA que llamará al c ++ nativo. Y luego, llamaremos a la API de JAVA para hacer las cosas fácilmente.
- Por lo tanto, necesitamos el archivo jar (API de Java) y un archivo .so (compilado con c ++).
- Debemos tener el archivo del modelo previamente entrenado y un archivo de etiquetas para la clasificación.