Entrar em Contato

Programa do Curso

Introdução

  • Introdução ao TensorFlow e ao deep learning
  • Casos de uso e aplicações do TensorFlow
  • Ecosistema e ferramentas do TensorFlow
  • Fluxos de trabalho de machine learning e deep learning
  • Visão geral dos objetivos do curso e exercícios práticos

TensorFlow 2.x vs. Versões Anteriores — O que há de Novo

  • Diferenças-chave entre TensorFlow 1.x e 2.x
  • Execução eager
  • APIs simplificadas e melhor usabilidade
  • Mudanças na construção e no treinamento de modelos
  • Introdução ao Keras como API de alto nível
  • Considerações para migração de aplicativos existentes do TensorFlow
  • Boas práticas do TensorFlow 2.x

Configurando o TensorFlow 2.x

  • Instalando o TensorFlow
  • Configurando um ambiente Python
  • Verificando a instalação do TensorFlow
  • Instalando e gerenciando dependências necessárias
  • Configurando ambientes CPU e GPU
  • Usando o TensorFlow com notebooks Jupyter
  • Comandos e operações básicos do TensorFlow
  • Solucionando problemas de instalação e configuração

Visão Geral dos Recursos e da Arquitetura do TensorFlow 2.x

  • Arquitetura do TensorFlow e componentes principais
  • Tensores e operações com tensores
  • Variáveis e constantes
  • Gráficos computacionais e execução eager
  • Diferenciação automática
  • APIs e módulos do TensorFlow
  • Integração com Keras
  • Pipelines de dados com tf.data
  • Serialização de modelos e TensorFlow SavedModel
  • Ecosistema do TensorFlow e fluxo de trabalho de desenvolvimento

Como Funcionam as Redes Neurais

  • Fundamentos de redes neurais artificiais
  • Neurônios, camadas e arquiteturas de rede
  • Funções de ativação
  • Propagação向前 (forward propagation)
  • Funções de perda
  • Propagação para trás (backpropagation)
  • Descida de gradiente e otimização
  • Taxas de aprendizado e estratégias de otimização
  • Overfitting e underfitting
  • Técnicas de regularização
  • Conjuntos de dados de treinamento, validação e teste

Usando o TensorFlow 2.x para Criar Modelos de Deep Learning

  • Criando tensores e variáveis
  • Construindo redes neurais com Keras
  • APIs de modelos sequenciais e funcionais
  • Definindo modelos e camadas personalizados
  • Configurando otimizadores
  • Selecionando funções de perda apropriadas
  • Treinando modelos com fit()
  • Laços de treinamento personalizados
  • Callbacks e monitoramento do treinamento
  • Gerenciando pontos de controle (checkpoints) de modelos

Analisando Dados

  • Compreendendo conjuntos de dados para machine learning
  • Explorando dados estruturados e não estruturados
  • Visualização de dados
  • Identificando padrões e anomalias
  • Tratando dados ausentes e inconsistentes
  • Dividindo dados em conjuntos de treinamento, validação e teste
  • Selecionando recursos (features) relevantes
  • Preparando conjuntos de dados para modelos do TensorFlow

Pré-processamento de Dados

  • Normalização e padronização de dados
  • Codificação de dados categóricos
  • Tratamento de valores ausentes
  • Escala de recursos (feature scaling)
  • Pré-processamento de imagens
  • Pré-processamento de texto
  • Aumento de dados (data augmentation)
  • Construindo pipelines de entrada eficientes
  • Usando tf.data
  • Batching, shuffling, cacheamento e pré-busca (prefetching)
  • Preparando dados para o treinamento do modelo

Construindo um Modelo

  • Selecionando uma arquitetura de rede neural apropriada
  • Definindo entradas e saídas do modelo
  • Criando redes neurais densas
  • Escolhendo funções de ativação
  • Configurando o modelo para treinamento
  • Selecionando otimizadores e funções de perda
  • Treinando e validando o modelo
  • Monitorando métricas de treinamento
  • Melhorando o desempenho do modelo
  • Previnindo overfitting
  • Implementando regularização e dropout

Implementando um Classificador de Imagens State-of-the-Art

  • Fundamentos de classificação de imagens
  • Preparando conjuntos de dados de imagens
  • Normalização e aumento de imagens
  • Redes neurais convolucionais
  • Camadas de convolução e pooling
  • Projetando uma arquitetura de classificação de imagens
  • Aprendizado por transferência (transfer learning)
  • Usando modelos pré-treinados
  • Ajuste fino (fine-tuning) de redes pré-treinadas
  • Construindo um classificador de imagens avançado
  • Avaliando o desempenho da classificação

Treinando o Modelo

  • Configurando parâmetros de treinamento
  • Tamanho do lote (batch size) e épocas
  • Seleção de otimizadores
  • Agendamento da taxa de aprendizado (learning-rate scheduling)
  • Callbacks de treinamento
  • Parada antecipada (early stopping)
  • Checkpoints de modelos
  • Monitorando o progresso do treinamento
  • Detectando overfitting
  • Melhorando o desempenho do treinamento
  • Considerações para treinamento distribuído

Treinando em GPU vs. TPU

  • Arquiteturas CPU, GPU e TPU
  • Vantagens da aceleração por hardware
  • Configurando o TensorFlow para treinamento em GPU
  • Compreendendo o treinamento baseado em TPU
  • Selecionando hardware para diferentes cargas de trabalho
  • Movendo computações entre dispositivos
  • Gerenciando memória e recursos computacionais
  • Comparando o desempenho do treinamento
  • Estratégias de treinamento distribuído e acelerado

Avaliando o Modelo

  • Selecionando métricas de avaliação apropriadas
  • Exatidão, precisão, recall e pontuação F1
  • Métricas de avaliação para regressão
  • Matrizes de confusão
  • Estratégias de validação
  • Avaliando modelos de classificação
  • Avaliando a generalização do modelo
  • Identificando fraquezas do modelo
  • Comparando diferentes configurações de modelos

Fazendo Previsões

  • Usando modelos treinados para inferência
  • Preparando novos dados de entrada
  • Realizando previsões em lote e individuais
  • Interpretando as saídas do modelo
  • Probabilidades de classificação
  • Previsões de regressão
  • Construindo um fluxo de trabalho de inferência
  • Lidando com dados não vistos
  • Gerenciando pipelines de previsão

Avaliando as Previsões

  • Analisando a qualidade das previsões
  • Comparando previsões com resultados esperados
  • Identificando falsos positivos e falsos negativos
  • Análise de erros
  • Avaliando a confiança do modelo
  • Visualizando resultados de previsão
  • Detectando viés em dados e previsões
  • Melhorando o desempenho do modelo com base na análise de previsões

Depurando o Modelo

  • Identificando problemas comuns de treinamento
  • Diagnosticando previsões incorretas
  • Depurando pipelines de dados
  • Investigando o comportamento da perda e das métricas
  • Detectando gradientes explosivos e desaparecentes
  • Diagnosticando overfitting e underfitting
  • Inspecionando camadas e saídas do modelo
  • Usando ferramentas de depuração e perfilamento do TensorFlow
  • Melhorando a estabilidade e o desempenho do modelo

Salvando um Modelo

  • Salvando modelos treinados
  • Formato TensorFlow SavedModel
  • Salvando e restaurando pesos do modelo
  • Salvando arquitetura e configuração do modelo
  • Carregando modelos para inferência
  • Versionamento de modelos
  • Exportando modelos para deploy
  • Gerenciando artefatos de modelos
  • Preparando modelos para ambientes de produção

Fazendo o Deploy de um Modelo na Nuvem

  • Introdução ao deploy de modelos em nuvem
  • Preparando modelos do TensorFlow para produção
  • Servindo modelos através de APIs
  • Conceitos de serviço de modelos (model serving)
  • Containerizando aplicativos do TensorFlow
  • Inferência baseada em nuvem
  • Escalando cargas de trabalho de serviço de modelos
  • Monitorando modelos implementados
  • Gerenciando versões de modelos
  • Considerações para deploy em produção

Fazendo o Deploy de um Modelo em um Dispositivo Móvel

  • Desafios do machine learning móvel
  • TensorFlow Lite
  • Convertendo modelos do TensorFlow para deploy móvel
  • Otimização de modelos e redução de tamanho
  • Quantização
  • Executando inferência em dispositivos móveis
  • Gerenciando recursos de dispositivos móveis
  • Integrando modelos em aplicativos móveis
  • Testando o desempenho da inferência móvel

Fazendo o Deploy de um Modelo em um Sistema Embarcado (IoT)

  • Machine learning em dispositivos embarcados
  • TensorFlow Lite para aplicações embarcadas
  • Restrições de recursos e otimização
  • Reduzindo o tamanho do modelo e requisitos computacionais
  • Inferência na borda (edge inference)
  • Processamento de dados de sensores e em tempo real
  • Executando previsões localmente
  • Considerações de energia e memória
  • Integrando modelos do TensorFlow em fluxos de trabalho IoT
  • Testando e monitorando implementações na borda

Integrando um Modelo com Diferentes Linguagens

  • Interoperabilidade de modelos do TensorFlow
  • Servindo modelos através de APIs
  • Usando modelos do TensorFlow de diferentes ambientes de programação
  • Integração de modelos baseada em Python
  • Integrando modelos em aplicativos web
  • Inferência de modelos através de serviços baseados em REST
  • Integrando o TensorFlow em aplicativos existentes
  • Troca de dados e serialização
  • Considerações para integração em produção

Resolução de Problemas

  • Diagnosticando problemas de instalação do TensorFlow
  • Resolvendo erros de construção de modelos
  • Depurando problemas de pré-processamento de dados
  • Resolvendo falhas no treinamento
  • Investigando problemas de configuração de GPU e TPU
  • Diagnosticando problemas de memória e desempenho
  • Resolvendo problemas de carregamento e salvamento de modelos
  • Depurando problemas de deploy
  • Exercícios práticos de resolução de problemas

Resumo e Conclusão

  • Revisão dos conceitos do TensorFlow 2.x
  • Revisão dos fluxos de trabalho de redes neurais e deep learning
  • Revisão da preparação de dados e desenvolvimento de modelos
  • Revisão da classificação de imagens
  • Revisão das técnicas de treinamento e avaliação
  • Revisão da depuração e otimização de modelos
  • Revisão do deploy em nuvem, móvel e IoT
  • Boas práticas para desenvolvimento com TensorFlow
  • Exercício prático final
  • Perguntas e discussão

Requisitos

  • Experiência de programação em Python.
  • Experiência com a linha de comando do Linux.

Público-Alvo

  • Desenvolvedores
  • Cientistas de Dados
 21 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (4)

Próximas Formações Provisórias

Categorias Relacionadas