Informações administrativas
Titulo | Servir modelos de produção |
Duração | 60 minutos |
Módulo | B |
Tipo de aula | Tutorial |
Foco | Prático — Inteligência Artificial Organizacional |
Tópico | Modelo de produção de edifícios API |
Palavras-chave
operação de aprendizagem automática, contentores,
Objetivos de aprendizagem
- Familiarizar-se com a contentorização
- Aprendizagem TFX Serving
- Capacidade de aplicar-se localmente e em instâncias de contentores do Azure
Preparação prevista
Eventos de aprendizagem a serem concluídos antes
Nenhuma.
Obrigatório para os Estudantes
- Instalar o WSL 2 antes de instalar o Docker
- Pode utilizar a opção do Windows Hyper-V, mas isto não suporta a GPU’s
- Terá de instalar o Ubuntu (ou outras variantes adequadas), com o comando WSL CLI wsl --install -d ubuntu
- Para algumas máquinas, a WSL também terá de ser atualizada com o comando wsl -update (Mais informações sobre esta atualização)
- Terá de ter os mais recentes controladores NVIDIA/CUDA instalados
- Instalar o Docker para Windows: https://docs.docker.com/desktop/install/windows-install/
- Criar uma conta do Azure com acesso para criar instâncias de contentores do Azure (ACI)
Facultativo para Estudantes
Referências e antecedentes para estudantes
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao e Li Fei-Fei. Novo conjunto de dados para a Categorização de Imagem Fine-Grained. Primeiro Workshop on Fine-Grained Visual Categorization (FGVC), Conferência IEEE sobre Visão Informática e Reconhecimento de Padrões (CVPR), 2011.
Recomendado para professores
- Fazer as tarefas listadas como obrigatórias e opcionais para os alunos.
Materiais das aulas
Instruções para os professores
Modelos de produção que utilizam o TFX Serving
- Este tutorial irá apresentar aos alunos um modelo treinado desenvolvido que foi desenvolvido num caderno Jupyter (utilizando o Tensorflow 2.x e Keras) e salvar o modelo no formato Tensorflow. O tutorial começará por desenvolver uma CNN básica para identificar o pão de um cão. Em seguida, salvaremos o modelo como um modelo Tensorflow. O tutorial irá então utilizar a abordagem TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) para MLOps, onde nos concentraremos neste tutorial sobre o componente de serviço TRX, que está a construir APIs repousantes para usar/query em ambientes de produção. Para fazer isso, vamos construir uma imagem de serviço Docker TFX e implantar esta imagem:
- Local (localhost)
- Através das instâncias de contentores do Azure (ACI), onde um endereço IP público pode ser consultado
- Há instalações prévias necessárias, por favor consulte os preparativos obrigatórios para os alunos abaixo.
- O conjunto de dados é o conjunto de dados dos cães de Stanford, no qual usamos duas classes de cães, Jack Russel e Rhodesian Ridgeback, o conjunto de dados completo pode ser encontrado aqui, Também fornecemos o subconjunto utilizado neste tutorial na secção de conjuntos de dados abaixo.
- Também fornecemos todos os comandos do Docker CLI na parte inferior desta página tutorial WIKI.
Calendário/horário
Duração (Min) | Descrição |
---|---|
20 | Problema 1: Construir um modelo da CNN usando um subconjunto do conjunto de dados dos cães de Stanford, salvar este modelo como um modelo Tensorflow |
10 | Problema 2: Implantar o modelo Tensorflow numa API Rest localmente (utilizando o Docker) e consultar o modelo |
20 | Problema 3: Implementação do modelo Tensorflow numa API Rest utilizando as instâncias de contentores do Azure (ACI) (utilizando Docker) e consultando o modelo |
10 | Recapitular sobre o processo de passagem para a frente |
Comandos do Docker CLI
Os seguintes comandos de interface de linha de comandos são usados neste tutorial para executar os modelos.
Correr localmente
Passo 1: Puxar o tensorflow
Docker puxar tensorflow/servir:latest-gpu
Passo 2: Executar a imagem
Docker run --gpus all -p 8501:8501 --nome tfserv_classifier ---tipo de montagem=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/servir:latest-gpu
ou sem GPU
Docker run -p 8501:8501 --nome tfserv_classifier ---mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/servir:latest-gpu
Executar no Azure utilizando o ACI
Passo 1: Modificar a imagem local para ter o modelo incluído
Docker run -d --name Ser_base tensorflow/servir:latest-gpu Docker cp c:\produção\ ser_base:/modelos/img_classifier Docker ps -aȘ # para obter ID Docker commit --alteração «ENV MODEL_NAME img_classifier» &id vai aqui> tensorflow_dogs_gpu Docker matar ser_base
Passo 2: Implementar Imagem no Azure ACI
Docker login azure contexto Docker criar aci deleteme Docker context use deleteme execução do Docker -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Passo3 Aceda aos registos do ACI, endereço IP e, em seguida, pare e remova o serviço ACI =====
Docker logs jolly-ride Docker ps Docker para Jolly-ride Docker rm jolly-ride
Agradecimentos
Keith Quille (TU Dublin, Tallaght Campus)
O programa de mestrado em IA centrado no ser humano foi cofinanciado pelo Mecanismo Interligar a Europa da União Europeia ao abrigo de subvenções CEF-TC-2020-1 Competências Digitais 2020-EU-IA-0068.