-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Desarrollo de API del modelo de clasificación de texto #30
Comments
Nuestro usuarios de AWS no tienen permiso para crear funciones Lambda |
Se otorgan permisos para creación y despliegue de lambda functions para modelo de clasificación de texto actual con SVMs entrenado con conteo. |
-Al tratar de utilizar la opción de AWS Lambda, se presentaron restricciones respecto a las librerías incluidas en dicho servicio. -Se encontró que utilizando "layers" era posible cargar las librerías correspondientes (siempre y cuando se compilaran en específico para la arquitectura de AWS lambda). Sin embargo al tratar de incluir el paquete de sklearn, se sobrepasa el cupo permitido de memoria para layers. -Se trató de empaquetar toda la solución y subirla toda junta para no ocupar layers, pero se presentó la misma restricción respecto al tamaño de la solución. -Finalmente se ideó separar el discrminamómetro en 2 funciones AWS lambda:
Al separar la aplicación de esta manera, se le podrá dar la vuelta al problema del espacio. A continuación se muestra un ejemplo de cómo mandar a llamar una función lambda desde otra: |
De acuerdo. Se deben de todas maneras migrar estos componentes a la cuenta de la Sociedat. |
Al continuar con el desarrollo de la API, se encontró que también se debe separar la parte de los embeddings del modelo, pues la librería de scikit learn sumada a los embeddings, exceden el máximo permitido por cada AWS Lambda. Sin embargo antes de montar dicha arquitectura, se recomienda definir bien el modelo a utilizar para no tener que volver a adaptar el funcionamiento de la API para que encaje con lo planteado por el modelo. |
Se definió que se usarán 8 clasificadores binarios en lugar de 1 binario y 7 multiclase. Los 8 binarios serán:
|
Se desarrollará el API para el Discriminamómetro privilegiando la definición de entradas, salidas y errores para hacerlos agnósticos de la implementación del modelo subyacente y que aunque actualmente se elegirá entre un SVM descrito en #29 o un LDA semisupervisado descrito en este comentario del issue 20, eventualmente cambiará, pero el haber definido este contrato evitará cambios y disrupciones al desarrollo del producto.
Para el desarrollo considerar AWS Lambda (https://stackify.com/aws-lambda-with-python-a-complete-getting-started-guide/).
Para el despliegue a producción considerar cumplir con el estándar de Swagger (https://pypi.org/project/flask-swagger/).
The text was updated successfully, but these errors were encountered: