Gracias por A2A.
Básicamente, existen tres estrategias “clásicas” para integrar múltiples aplicaciones de software (no limitadas a aplicaciones específicas de ML).
- Transferencia de archivos: en un nivel muy amplio, consiste en crear exportaciones de datos desde la aplicación A, colocarla en una ubicación disponible para la aplicación B y leerla desde allí para usar los datos.
- Base de datos compartida: haga que todas sus aplicaciones utilicen el mismo almacenamiento. No tiene que ser una base de datos clásica, dependiendo de varios factores puede ser un almacenamiento NoSQL, HDFS, lo que sea …
- Paso de mensajes: esto es interesante si necesita una transferencia de datos casi en tiempo real entre sus aplicaciones. Es un enfoque muy elegante, pero las cosas pueden complicarse mucho :). Puede consultar Patrones de integración empresarial para obtener más detalles.
Ahora, en su caso, optaría por la segunda estrategia, a saber, la base de datos compartida. En realidad, Shared Storage parece un mejor nombre. Si puede hacer que sus aplicaciones utilicen el mismo espacio de almacenamiento, combinar los resultados es fácil. He implementado un RS en Python y Scala, uso Python para preprocesar los datos, escribirlos en una ubicación HDFS accesible para la aplicación Scala y leerlos desde allí. Funciona muy bien, es simple y fácil de mantener.
- Mientras entrena una red profunda, una vez que la precisión del entrenamiento alcanza el 100%, ¿hay algún punto en entrenar la red durante más épocas?
- ¿Podrían las entradas del algoritmo de entrenamiento Perceptron tener diferentes tipos?
- ¿Qué elementos de los sistemas operativos generales de una organización deben ser compatibles y reforzarse mutuamente?
- La IA ha existido por décadas. ¿Qué condujo a toda la publicidad reciente de AI / Deep Learning?
- ¿Cuáles son las industrias que probablemente se verán afectadas por el aprendizaje profundo?
Si no puede hacer que sus aplicaciones accedan a la misma ubicación, al menos tendrá que hacer que usen el mismo formato de datos y poner en juego una cuarta aplicación; su propósito sería agregar datos de las tres fuentes de datos. Si ni siquiera puede tener el mismo formato de datos para sus aplicaciones, entonces esta cuarta aplicación (el agregador) también tendrá que estar a cargo de la transformación de datos para llevarla a un terreno común.
Scala, Python y Go. Caja de herramientas increíble! 🙂