Información administrativa
Título | Modelos de producción de servicio |
Duración | 60 minutos |
Módulo | B |
Tipo de lección | Tutorial |
Enfoque | Práctica — IA organizativa |
Tema | API del modelo de producción de edificios |
Keywords
operción de aprendizaje automático, contenedores,
Objetivos de aprendizaje
- Familiarizarse con la contenedorización
- Aprendizaje de TFX Serving
- Capacidad de aplicar servicios locales y en instancias de contenedores de Azure
Preparación prevista
Eventos de aprendizaje que se completarán antes
Ninguno.
Obligatorio para los estudiantes
- Instalar WSL 2 antes de instalar Docker
- Puede usar la opción de Windows Hyper-V, pero esto no es compatible con GPU
- Necesitará instalar Ubuntu (u otras variantes adecuadas), con el comando WSL CLI wsl --install -d ubuntu
- Para algunas máquinas, el WSL también deberá actualizarse con el comando wsl --update ( Más información sobre esta actualización)
- Necesitará tener instalados los controladores NVIDIA/CUDA más recientes
- Instalar Docker para Windows: https://docs.docker.com/desktop/install/windows-install/
- Crear una cuenta de Azure con acceso para crear instancias de contenedores de Azure (ACI)
Opcional para estudiantes
Referencias y antecedentes para estudiantes
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao y Li Fei-Fei. Conjunto de datos novedoso para categorización de imágenes de grano fino. Primer Taller sobre categorización visual de grano fino (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Recomendado para profesores
- Realice las tareas enumeradas como obligatorias y opcionales para los estudiantes.
Material didáctico
Instrucciones para profesores
Modelos de producción utilizando TFX Serving
- Este tutorial introducirá a los estudiantes a tomar un modelo entrenado desarrollado que se desarrolló en un Cuaderno Jupyter (usando Tensorflow 2.x y Keras) y guardar el modelo en formato Tensorflow. El tutorial comenzará desarrollando una CNN básica para identificar el pan de un perro. Luego guardaremos el modelo como un modelo Tensorflow. El tutorial usará el enfoque TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker)para MLOps, donde nos centraremos en este tutorial sobre el componente de servicio TRX, que está construyendo API relajantes para usar/consultar en entornos de producción. Para ello, construiremos una imagen de servicio Docker TFX e implementaremos esta imagen:
- Localmente (anfitrión local)
- A través de Azure Container Instances (ACI), donde se puede consultar una dirección IP pública
- Hay instalaciones previas necesarias, por favor vea los preparativos obligatorios para los estudiantes a continuación.
- El conjunto de datos es el conjunto de datos de perros de Stanford, en el que utilizamos dos clases de perros, Jack Russel y Rhodesian Ridgeback, el conjunto de datos completo se puede encontrar aquí, también hemos proporcionado el subconjunto utilizado en este tutorial en la sección de conjuntos de datos a continuación.
- También hemos proporcionado todos los comandos de Docker CLI en la parte inferior de este tutorial WIKI página.
Esquema/horario de tiempo
Duración (Min) | Descripción |
---|---|
20 | Problema 1: Construir un modelo de CNN utilizando un subconjunto del conjunto de datos de perros de Stanford, guardando este modelo como un modelo de Tensorflow |
10 | Problema 2: Implementar el modelo Tensorflow en una API de descanso localmente (usando Docker) y consultar el modelo |
20 | Problema 3: Implementación del modelo Tensorflow en una API de reposo mediante Azure Container Instances (ACI) (usando Docker) y consultando el modelo |
10 | Resumen del proceso de pase hacia adelante |
Comandos de Docker CLI
Los siguientes comandos de interfaz de línea de comandos se utilizan en este tutorial para ejecutar los modelos.
Ejecutar localmente
Paso 1: Flujo tensor de tracción
Docker pull tensorflow/serviendo:latest-gpu
Paso 2: Ejecutar la imagen
Docker run --gpus all -p 8501:8501 --nombre tfserving_classifier --mount type=bind,source=c:\producción\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serviendo:latest-gpu
o sin GPU
Docker run -p 8501:8501 --nombre tfserving_classifier --mount type=bind,source=c:\producción\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serviendo:latest-gpu
Ejecutar en Azure usando ACI
Paso 1: Modificar la imagen local para tener el modelo incluido
Docker run -d --name serving_base tensorflow/serviendo:latest-gpu Docker cp c:\producción\ serving_base:/modelos/img_classifier Docker ps -a... # para obtener la identificación Docker commit --change «ENV MODEL_NAME img_classifier» &id va aquí> tensorflow_dogs_gpu Docker mata servir_base
Paso 2: Implementar Imagen en Azure ACI
Docker login azure contexto de Docker crear aci deleteme Docker context use deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Paso3 Acceda a los registros de ACI, la dirección IP, y luego detenga y elimine el servicio de ACI =====
Docker logs jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Reconocimientos
Keith Quille (TU Dublín, Tallaght Campus)
El programa de maestría en IA centrada en el ser humano fue cofinanciado por el Mecanismo «Conectar Europa» de la Unión Europea en virtud de la subvención «CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068».