SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
¡Oh, un modelo de ML, vamos
a desplegarlo!
-
Machine learning para
adultos
(Apto para todos los públicos)
Spain AI 2022
¿Qué os vamos a contar?
Taller super práctico, aquí venimos a cacharrear.
● Machine Learning - NLP
● Webs
● Productivización del código
● CI/CD
● Cloud y PaaS
No esperamos que conozcáis todas estas siglas. ¡Las vamos a explicar durante el
taller!
¿Quienes somos?
● Lino, Ricardo y Kike
● Nos conocimos en Savana
● Somos miembros de cobetes.tech
○ Una pequeña asociación (en construcción)
○ Queremos que sea una guild de backend y tecnología donde no importe en qué empresa
trabajes. Lo que nos mueve es la tecnología y el conocimiento.
cobetes.tech
¿Quienes somos? - Lino
● Soy Lino
● Soy desarrollador y arquitecto cloud.
● En mis ratos libres aporreo una batería o
hago gruñir una guitarra para liberar
tensiones y, sobre todo, para molestar a mis
vecinos.
● Me abrí un canal de Youtube porque no me
quisieron en OnlyFans (son una panda de
envidiosos).
¿Quienes somos? - Ricardo
● Soy Ricardo Guerrero
● Soy Head of Data Science & Data Engineering
● En mi tiempo libre me gusta hacer artes marciales,
tomarle el pelo a mis cobayas o ponerme camisas
chillonas (pero solo en la playa)
¿Quienes somos? - Enrique
● Soy Enrique Josue Alvarez Robles
● Data Scientist con grado universitario en Estadística Aplicada de la
Universidad Complutense de Madrid y Máster de Machine learning y
Estadística de la Universidad de Linköping en Suecia.
Forma de trabajo y gestión de expectativas
Preguntas
Guión y
tiempos
Demo
¿Qué nos habéis traído?
Demo
Lo que váis a montar vosotros
Vais a montar vuestra propia aplicación, y no, no es la misma que os he enseñado,
pero si parecida :-)
Y la vais a desplegar y vais a poder enseñarsela a vuestros fans de Instagram
Pero antes de nada… comprobemos algo
Tenemos que asegurarnos que tenemos preparado lo mínimo imprescindible para
arrancar:
1. ¿Cuenta de Github?
2. ¿Cuenta de Heroku?
3. ¿Qué sistema operativo tenéis?
4. ¿Python? ¿Pip? ¿Virtualenv?
5. ¿Git?
6. ¿Heroku cli?
Github
https://github.com/
Heroku
https://www.heroku.com/
¿Sistema Operativo?
- Linux y Mac: usaremos la terminal
- Windows: Powershell
Python
- Versión 3.6 o superior.
- La instalación depende del sistema operativo que uséis.
Git (instalación)
- MacOs y Linux: suelen tenerlo
disponible
- La instalación depende del sistema
operativo que uséis.
Git (configuración)
- Configurar el usuario y el email global: terminal de Linux/Mac o
Powershell
Heroku cli
https://devcenter.heroku.com/articles/getting-started-with-python#set-up
Pip y virtualenv
- Seguir instrucciones del manual de instalación.
- Quienes hayan instalado python mediante conda por el momento no hacer
nada.
¡Forkeamos!
https://github.com/cobetes-tech/SpainAI2022-Parte2
¡Clonamos!
En cada proyecto personal
Entorno Virtual Python
¿Qué es?
Es un entorno de python aislado que contiene una copia del intérprete de python y las librerías básicas.
Se puede activar y desactivar a petición y cualquier cambio realizado sobre ese entorno, como instalar o
desinstalar librerías) no afecta ni al Python del sistema ni a cualquier otro entorno.
¿Por qué?
- Porque nos permite trabajar en un entorno aislado y seguro.
- Porque podemos generar un fichero de dependencias.
- Porque somos personas ordenadas y limpias.
Entorno Virtual - ¿Cómo?
- Entrar en el directorio del proyecto (recién clonado de github).
Entorno Virtual - ¿Cómo? (Conda)
- Entrar en el directorio del proyecto (recién clonado de github).
Entorno Virtual - Activar
Instalar dependencias
Empezamos todos con un hello world
main.py En la terminal
Ya tengo una web… ¿y si apago mi
ordenador?
PaaS - ¿Y eso qué es?
Push hacia github
- Añadir los archivos
modificados.
- Hacer “commit” para que los
cambios se incorporen a
nuestro repositorio local.
- Hacer push hacia github.
Publicar en Heroku
- Login en Heroku (por si
acaso).
- Crear proyecto (solo se
hace una vez).
- Publicar proyecto (y
esperar).
Profit!
Desde el panel de control de Heroku podemos abrir la aplicación.
De mayor quiero hacer CI/CD
“Me hice informático porque puedo automatizar mi
trabajo y rascarme la barriga en el sofá.”
Lino Figueroa (2021)
CI/CD - ¿Qué son?
Heroku deploy (I)
Heroku deploy (II)
Heroku deploy (y III)
Modificad el fichero “main.py” y
cambiad el mensaje de “hola
mundo” por algún otro.
Y después ejecutad y esperad un
rato hasta que termine de
redesplegar.
De notebook a producción
¡Déjate de palabras, quiero ver código!
Este es nuestro notebook de partida
Y este es el código que hemos preparado para productivizarlo. Con su página web
y sus configuraciones de despliegue.
Mini introducción al NLP
NLP es una combinación entre 2 cosas:
- Entender el lenguaje natural usando ciencia computacional
- Y además, en muchas ocasiones, también aplicando técnicas de
inteligencia artificial.
Embeddings
https://projector.tensorflow.org/
https://huggingface.co/
Sentence embeddings son la forma de
representar frases en distintos contextos del
lenguaje natural en una matriz de números
que la máquina pueda entender.
Ejemplo:
perro -> [0.02, 4.5, 7.3, 3.51]
De notebook a producción
¡Déjate de palabras, quiero ver código!
Este es nuestro notebook de partida
Y este es el código que hemos preparado para productivizarlo. Con su página web
y sus configuraciones de despliegue.
Vuestro turno: 2º aplicación
Productivizar este notebook
● Web
● Despliegue en cloud
¿Cómo lo vamos a hacer? Forma de trabajar
Bloque de trabajo personal (con nuestra ayuda)
● Tendréis XX minutos (estimaremos cuando lleguemos a este punto)
● Estaremos por aquí respondiendo a todas las dudas que surjan
● Os iremos preguntando en privado a cada uno de vez en cuando
● No dudéis en “levantar la mano” y llamarnos
● Aquellos que quieran (100% voluntario), podrán enseñar lo que han construido
Consejo: configura cuanto antes la parte del despliegue, el esqueleto, y sobre eso
ve añadiendo contenido. Así podrás aprovechar los últimos 5 minutos para subir la
última versión
Adelante
Resumen, conclusiones y puntos importantes
1. Los cajones están muy bien, pero por favor, no guardes tus modelos en ellos.
Sácalos, que les dé un poco la luz. Que aporten valor.
2. No hacen falta conocimientos de programación o diseño web para poder
montar una web sencillota. Streamlit apenas tiene curva de entrada.
3. CI/CD parecen cosas muy complicadas… pero resulta tremendamente útil y no
es tan difícil de configurar. Un poco de Github, un poco de Heroku y… ¡magia!
4. Las aplicaciones de terminal no suelen ser muy populares para la gente de
negocio… ¡aprovecha lo aprendido! Ya tienes lo más difícil, ponlo presentable.
Preguntas
¿Una ayudita? Queremos mejorar
bit.ly/taller-despliegue-ml-2022
Despedida
Si os surge cualquier duda…
Lino Figueroa:
● impalah@gmail.com
● twitter.com/impalah
● linkedin.com/in/linofigueroa
● https://pressanykey.tech/youtube
Ricardo Guerrero:
● ricgu8086@gmail.com
● twitter.com/ricgu8086
● linkedin.com/in/ricgu8086
Enrique Josue Álvarez:
● ejarkm@gmail.com

Más contenido relacionado

Similar a Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos

Similar a Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos (20)

.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0
 
Tech Meetup: Jenkins, the moody buttler
Tech Meetup: Jenkins, the moody buttlerTech Meetup: Jenkins, the moody buttler
Tech Meetup: Jenkins, the moody buttler
 
Python power 1
Python power 1Python power 1
Python power 1
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandbox
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Cuckoosandbox
CuckoosandboxCuckoosandbox
Cuckoosandbox
 
Primeros pasos con Raspberry Pi
Primeros pasos con Raspberry PiPrimeros pasos con Raspberry Pi
Primeros pasos con Raspberry Pi
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandbox
 
Curso MPLAB pic 1 1p
Curso MPLAB pic 1 1pCurso MPLAB pic 1 1p
Curso MPLAB pic 1 1p
 
Html5 vs Flash
Html5 vs FlashHtml5 vs Flash
Html5 vs Flash
 
Anexo meteo pi (1)
Anexo meteo pi  (1)Anexo meteo pi  (1)
Anexo meteo pi (1)
 
Guia instalacion y configuracion nagios
Guia instalacion y configuracion nagiosGuia instalacion y configuracion nagios
Guia instalacion y configuracion nagios
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tarde
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Qué es un proyecto
Qué es un proyectoQué es un proyecto
Qué es un proyecto
 
introduccion a python completo.pdf
introduccion a python completo.pdfintroduccion a python completo.pdf
introduccion a python completo.pdf
 
Presentación de Paradis
Presentación de ParadisPresentación de Paradis
Presentación de Paradis
 
CLASE 5 INTRODUCCION A FIGMA
CLASE 5 INTRODUCCION A FIGMACLASE 5 INTRODUCCION A FIGMA
CLASE 5 INTRODUCCION A FIGMA
 
Primera Guia De La Unidad 3
Primera Guia De La Unidad 3Primera Guia De La Unidad 3
Primera Guia De La Unidad 3
 
Mejorandola
MejorandolaMejorandola
Mejorandola
 

Último

CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Último (20)

CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning para adultos

  • 1. ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine learning para adultos (Apto para todos los públicos) Spain AI 2022
  • 2. ¿Qué os vamos a contar? Taller super práctico, aquí venimos a cacharrear. ● Machine Learning - NLP ● Webs ● Productivización del código ● CI/CD ● Cloud y PaaS No esperamos que conozcáis todas estas siglas. ¡Las vamos a explicar durante el taller!
  • 3. ¿Quienes somos? ● Lino, Ricardo y Kike ● Nos conocimos en Savana ● Somos miembros de cobetes.tech ○ Una pequeña asociación (en construcción) ○ Queremos que sea una guild de backend y tecnología donde no importe en qué empresa trabajes. Lo que nos mueve es la tecnología y el conocimiento. cobetes.tech
  • 4. ¿Quienes somos? - Lino ● Soy Lino ● Soy desarrollador y arquitecto cloud. ● En mis ratos libres aporreo una batería o hago gruñir una guitarra para liberar tensiones y, sobre todo, para molestar a mis vecinos. ● Me abrí un canal de Youtube porque no me quisieron en OnlyFans (son una panda de envidiosos).
  • 5. ¿Quienes somos? - Ricardo ● Soy Ricardo Guerrero ● Soy Head of Data Science & Data Engineering ● En mi tiempo libre me gusta hacer artes marciales, tomarle el pelo a mis cobayas o ponerme camisas chillonas (pero solo en la playa)
  • 6. ¿Quienes somos? - Enrique ● Soy Enrique Josue Alvarez Robles ● Data Scientist con grado universitario en Estadística Aplicada de la Universidad Complutense de Madrid y Máster de Machine learning y Estadística de la Universidad de Linköping en Suecia.
  • 7. Forma de trabajo y gestión de expectativas Preguntas Guión y tiempos
  • 8. Demo ¿Qué nos habéis traído? Demo
  • 9. Lo que váis a montar vosotros Vais a montar vuestra propia aplicación, y no, no es la misma que os he enseñado, pero si parecida :-) Y la vais a desplegar y vais a poder enseñarsela a vuestros fans de Instagram
  • 10. Pero antes de nada… comprobemos algo Tenemos que asegurarnos que tenemos preparado lo mínimo imprescindible para arrancar: 1. ¿Cuenta de Github? 2. ¿Cuenta de Heroku? 3. ¿Qué sistema operativo tenéis? 4. ¿Python? ¿Pip? ¿Virtualenv? 5. ¿Git? 6. ¿Heroku cli?
  • 13. ¿Sistema Operativo? - Linux y Mac: usaremos la terminal - Windows: Powershell
  • 14. Python - Versión 3.6 o superior. - La instalación depende del sistema operativo que uséis.
  • 15. Git (instalación) - MacOs y Linux: suelen tenerlo disponible - La instalación depende del sistema operativo que uséis.
  • 16. Git (configuración) - Configurar el usuario y el email global: terminal de Linux/Mac o Powershell
  • 18. Pip y virtualenv - Seguir instrucciones del manual de instalación. - Quienes hayan instalado python mediante conda por el momento no hacer nada.
  • 21. Entorno Virtual Python ¿Qué es? Es un entorno de python aislado que contiene una copia del intérprete de python y las librerías básicas. Se puede activar y desactivar a petición y cualquier cambio realizado sobre ese entorno, como instalar o desinstalar librerías) no afecta ni al Python del sistema ni a cualquier otro entorno. ¿Por qué? - Porque nos permite trabajar en un entorno aislado y seguro. - Porque podemos generar un fichero de dependencias. - Porque somos personas ordenadas y limpias.
  • 22. Entorno Virtual - ¿Cómo? - Entrar en el directorio del proyecto (recién clonado de github).
  • 23. Entorno Virtual - ¿Cómo? (Conda) - Entrar en el directorio del proyecto (recién clonado de github).
  • 24. Entorno Virtual - Activar
  • 26. Empezamos todos con un hello world main.py En la terminal
  • 27. Ya tengo una web… ¿y si apago mi ordenador?
  • 28. PaaS - ¿Y eso qué es?
  • 29. Push hacia github - Añadir los archivos modificados. - Hacer “commit” para que los cambios se incorporen a nuestro repositorio local. - Hacer push hacia github.
  • 30. Publicar en Heroku - Login en Heroku (por si acaso). - Crear proyecto (solo se hace una vez). - Publicar proyecto (y esperar).
  • 31. Profit! Desde el panel de control de Heroku podemos abrir la aplicación.
  • 32. De mayor quiero hacer CI/CD “Me hice informático porque puedo automatizar mi trabajo y rascarme la barriga en el sofá.” Lino Figueroa (2021)
  • 36. Heroku deploy (y III) Modificad el fichero “main.py” y cambiad el mensaje de “hola mundo” por algún otro. Y después ejecutad y esperad un rato hasta que termine de redesplegar.
  • 37. De notebook a producción ¡Déjate de palabras, quiero ver código! Este es nuestro notebook de partida Y este es el código que hemos preparado para productivizarlo. Con su página web y sus configuraciones de despliegue.
  • 38. Mini introducción al NLP NLP es una combinación entre 2 cosas: - Entender el lenguaje natural usando ciencia computacional - Y además, en muchas ocasiones, también aplicando técnicas de inteligencia artificial.
  • 39.
  • 40. Embeddings https://projector.tensorflow.org/ https://huggingface.co/ Sentence embeddings son la forma de representar frases en distintos contextos del lenguaje natural en una matriz de números que la máquina pueda entender. Ejemplo: perro -> [0.02, 4.5, 7.3, 3.51]
  • 41. De notebook a producción ¡Déjate de palabras, quiero ver código! Este es nuestro notebook de partida Y este es el código que hemos preparado para productivizarlo. Con su página web y sus configuraciones de despliegue.
  • 42. Vuestro turno: 2º aplicación Productivizar este notebook ● Web ● Despliegue en cloud
  • 43. ¿Cómo lo vamos a hacer? Forma de trabajar Bloque de trabajo personal (con nuestra ayuda) ● Tendréis XX minutos (estimaremos cuando lleguemos a este punto) ● Estaremos por aquí respondiendo a todas las dudas que surjan ● Os iremos preguntando en privado a cada uno de vez en cuando ● No dudéis en “levantar la mano” y llamarnos ● Aquellos que quieran (100% voluntario), podrán enseñar lo que han construido Consejo: configura cuanto antes la parte del despliegue, el esqueleto, y sobre eso ve añadiendo contenido. Así podrás aprovechar los últimos 5 minutos para subir la última versión
  • 45. Resumen, conclusiones y puntos importantes 1. Los cajones están muy bien, pero por favor, no guardes tus modelos en ellos. Sácalos, que les dé un poco la luz. Que aporten valor. 2. No hacen falta conocimientos de programación o diseño web para poder montar una web sencillota. Streamlit apenas tiene curva de entrada. 3. CI/CD parecen cosas muy complicadas… pero resulta tremendamente útil y no es tan difícil de configurar. Un poco de Github, un poco de Heroku y… ¡magia! 4. Las aplicaciones de terminal no suelen ser muy populares para la gente de negocio… ¡aprovecha lo aprendido! Ya tienes lo más difícil, ponlo presentable.
  • 47. ¿Una ayudita? Queremos mejorar bit.ly/taller-despliegue-ml-2022
  • 48. Despedida Si os surge cualquier duda… Lino Figueroa: ● impalah@gmail.com ● twitter.com/impalah ● linkedin.com/in/linofigueroa ● https://pressanykey.tech/youtube Ricardo Guerrero: ● ricgu8086@gmail.com ● twitter.com/ricgu8086 ● linkedin.com/in/ricgu8086 Enrique Josue Álvarez: ● ejarkm@gmail.com