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
Testemunhos de Clientes (4)
O treinamento foi organizado e bem planejado, e saí dele com conhecimento sistematizado e uma boa visão dos tópicos que estudamos
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Máquina Traduzida
O conhecimento do instrutor e o fato de serem muito acessíveis. Eles podiam transmitir facilmente conhecimentos importantes.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Máquina Traduzida
Gostei de termos abordado os fundamentos também
Tomasz - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Máquina Traduzida
O instrutor explicou o conteúdo de forma clara e foi envolvente durante todo o tempo. Ele parava para fazer perguntas e nos permitia chegar às nossas próprias soluções em algumas sessões práticas. Além disso, adaptou bem o curso às nossas necessidades.
Robert Baker
Curso - Deep Learning with TensorFlow 2.0
Máquina Traduzida