SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Globalcode – Open4education
Trilha – Machine Learning
Uso de PyTorch para Aplicações de Visão Computacional
Fulvio Mascara
Cientista-chefe @ Foursys
Community Manager @ AI Brasil
Globalcode – Open4education
• Corredor de media e longa distância
• Diabético
• Programo desde os 11 anos
• “Tocador” de violão e guitarra
• Gosto de cozinhar e viajar
• 30 anos de carreira
• Cientista-chefe (P&D&I) da Foursys
• Community Manager – AI Brasil
• Tecnológo em Proc. Dados (Mackenzie)
• Pós-Graduado em Solution Architect (FIAP)
• Pós-Graduado em Estatística Aplicada (FMU)
… E CRACHÁ!
CARA…
Globalcode – Open4education
Agenda
Frameworks Deep Learning
PyTorch
Visão Computacional no PyTorch
Demonstração
Notebook Jupyter
Expectativas
Links úteis
Globalcode – Open4education
Frameworks Deep Learning
Panorama atual
Globalcode – Open4education
Frameworks Deep Learning
Principais Características – Visão Mercado
Fonte:
https://www.analyticsvidhya.com/blog/2019/03/deep-
learning-frameworks-comparison/
Otimizado para performance
Fácil de entender e codificar
Bom suporte da comunidade
Paralelizar processos para reduzir os
cálculos
Automaticamente calcule os gradientes
Design de Código conveniente
Exemplos / referências de código de alta
qualidade
Velocidade do treinamento e da inferência
Quantidade de funções / métodos
oferecidos “out of the box”
Compatibilidade nas atualizações de
versão
Suporte a múltiplas linguagens de
programação
Fonte: https://medium.com/apache-mxnet/a-way-to-benchmark-
your-deep-learning-framework-on-premise-4f7a0f475726
Globalcode – Open4education
Frameworks Deep Learning
Principais Características – Visão pessoal
Constante evolução
Comunidade vibrante, usando o framework tanto
pra pesquisa quanto produção
Rápida curva de aprendizado
Ter recursos que permitam depurar o processo de
treinamento das redes
Modelos prontos para facilitar o processo de
Transfer Learning
Exportar o resultado para formatos que acelerem a
inferência para Mobile e Edge Computing
Velocidade no treinamento e na inferência
Globalcode – Open4education
Frameworks Deep Learning
Adoção / Uso – Visão Setembro/2018
Fonte: https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a
Critérios:
Online Job Listings
KDnuggets Usage Survey
Google Search Volume
Medium Articles
Amazon Books
ArXiv Articles
GitHub Activity
Globalcode – Open4education
Frameworks Deep Learning
Adoção / Uso – Visão Abril/2019
Fonte: https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318
Critérios:
Online Job Listings
Google Search Interest
Medium Articles
Quora Followers
ArXiv Articles
GitHub Activity
Globalcode – Open4education
PyTorch
Histórico
Criado em Jan/16 pelo grupo de pesquisa de AI do Facebook
Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Baseado no Torch
Escrito em Python, C++ e CUDA
PyTorch 1.0 lançado em Dez/18, com foco de se consolidar como um framework único
“the path from research to production”
Atualmente está na versão 1.1, lançada em Abril/19
Globalcode – Open4education
PyTorch
Características
Fácil e muito flexível para prototipação
Apesar das diversas features da v1.0, ainda é um framework muito mais voltado pra pesquisa
Computação por Tensores, que acabam sendo uma abstração de arrays do numpy, mas com os ganhos computacionais do uso de GPU
O fato de herdar as características do numpy, facilita a curva de aprendizado
Estrutura de programação imperativa e não declarativa
Dynamic Computational Graphs, ou seja, você pode alterar a arquitetura de uma rede durante sua execução, pois o “graph” é gerado “on the fly”
Os DCGs são o que viabilizam um outro recurso do PyTorch: autograd. O autograd (módulo) usa um método de AD (Automatic Differentiation)
pra “gravar” as operações de forward-pass e realizar um replay das mesmas pra calcular os gradientes no backprop
Funcionalidades pra escalar o processo de treinamento das redes, provendo ganho de performance
Possui compilador jit (just in time), que com o uso de Torch Script, torna possível rodar um código salvo no PyTorch, de forma compilada e sem
necessidade do Python.
Suporte nativo ao ONNX (Open Neural Network Exchange), o que facilita na integração com outras ferramentas compatíveis com este padrão
Front-end híbrido, que permite transitar entre “eager mode” e “graph mode”
Possui API e Front-end em C++
Conta com datasets e modelos prontos pra uso, acelelerando o processo de prototipação e desenvolvimento
Pronto para os principais vendors e plataformas de cloud AI/ML do mercado (AWS Sagemaker, Azure, GCP Kubeflow e Tensorboard)
Globalcode – Open4education
PyTorch
Principais Estruturas
Matrizes ou Tensores
Operações com Tensores
Variáveis e Gradientes (Autograd)
Globalcode – Open4education
PyTorch
Principais Estruturas
Matrizes ou Tensores
Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
Globalcode – Open4education
PyTorch
Principais Estruturas
Operações com Tensores
Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
Globalcode – Open4education
PyTorch
Principais Estruturas
Variáveis e Gradientes (Autograd)
Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
Globalcode – Open4education
PyTorch
CNN – Convolutional Neural Networks
https://miro.medium.com/max/2625/1*vkQ0hXDaQv57sALXAJquxA.jpeg
Globalcode – Open4education
PyTorch
Visão Computacional e CNNs
torch.nn
Convolution Layers Pooling Layers Padding Layers Dropout Layers Vision Layers
Globalcode – Open4education
PyTorch
Visão Computacional e CNNs
torch.nn.functional
Convolution Functions Pooling Functions Dropout Functions Vision Functions
Globalcode – Open4education
PyTorch
Visão Computacional e CNNs
torchvision
transformsdatasets models
Crop
Resize
Scale
Flip
Rotate
Color
Brightness / Contrast / Hue
Affine
Compose (Pipeline)
PIL Image
Tensor
Globalcode – Open4education
Globalcode – Open4education
Expectativas
Aumentar a adoção em ambientes produtivos
PyTorch Lite
Ter uma versão não imperativa
Globalcode – Open4education
Conclusões
Links úteis
Awesome List – PyTorch
https://github.com/bharathgs/Awesome-pytorch-list
The Incredible PyTorch
https://www.ritchieng.com/the-incredible-pytorch/
Fast.ai
https://docs.fast.ai/index.html
Chainer
https://chainer.org
Globalcode – Open4education
Contatos
in/fulviomascara @fulviomascara fulvio.mascara fulviomascara
Globalcode – Open4education
Muito obrigado !

Mais conteúdo relacionado

Semelhante a TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Visão Computacional

PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...Rogerio P C do Nascimento
 
TDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big DataTDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big DataEduardo Hahn
 
DataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigDataDataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigDataEduardo Hahn
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
Usando o TOGAF com a Linguagem ArchiMate
Usando o TOGAF com a Linguagem ArchiMateUsando o TOGAF com a Linguagem ArchiMate
Usando o TOGAF com a Linguagem ArchiMateCentus Consultoria
 
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Thiago Barros, PSM
 
Bruxarias em Python - Como desenvolver soluções escaláveis
Bruxarias em Python - Como desenvolver soluções escaláveisBruxarias em Python - Como desenvolver soluções escaláveis
Bruxarias em Python - Como desenvolver soluções escaláveisViotti Equipamentos Médicos
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingRenato Groff
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010Fabian Gehrke
 
Identidade Padrão da Comunicação Digital do Governo Federal
Identidade Padrão da Comunicação Digital do Governo FederalIdentidade Padrão da Comunicação Digital do Governo Federal
Identidade Padrão da Comunicação Digital do Governo FederalTania Andrea
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDRogerio P C do Nascimento
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?tdc-globalcode
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka? pichiliani
 
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...Pedro Príncipe
 
Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015Rodrigo Ribeiro
 
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoConstruindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoMeire Helen Batista Dias
 
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...tdc-globalcode
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivreAmbiente Livre
 

Semelhante a TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Visão Computacional (20)

PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
PROCC UFS.br :: Apresentação Disciplina PGPS - Planejamento e Gerencia de Pro...
 
TDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big DataTDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big Data
 
DataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigDataDataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigData
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Usando o TOGAF com a Linguagem ArchiMate
Usando o TOGAF com a Linguagem ArchiMateUsando o TOGAF com a Linguagem ArchiMate
Usando o TOGAF com a Linguagem ArchiMate
 
Apresentacao artigo final
Apresentacao artigo finalApresentacao artigo final
Apresentacao artigo final
 
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
 
Bruxarias em Python - Como desenvolver soluções escaláveis
Bruxarias em Python - Como desenvolver soluções escaláveisBruxarias em Python - Como desenvolver soluções escaláveis
Bruxarias em Python - Como desenvolver soluções escaláveis
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
 
PyFuncemeClimateTools
PyFuncemeClimateToolsPyFuncemeClimateTools
PyFuncemeClimateTools
 
Identidade Padrão da Comunicação Digital do Governo Federal
Identidade Padrão da Comunicação Digital do Governo FederalIdentidade Padrão da Comunicação Digital do Governo Federal
Identidade Padrão da Comunicação Digital do Governo Federal
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...
Dados Abertos e planos de gestão de dados no Horizonte 2020 - webinar OpenAIR...
 
Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015
 
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoConstruindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
 
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
 

Mais de Fulvio Mascara

Usando Azure Cognitive Services para Reconhecimento Facial
Usando Azure Cognitive Services para Reconhecimento FacialUsando Azure Cognitive Services para Reconhecimento Facial
Usando Azure Cognitive Services para Reconhecimento FacialFulvio Mascara
 
Foursys e InovaBra - O poder da IA em suas mãos - 31.07.2019
Foursys e InovaBra  - O poder da IA em suas mãos - 31.07.2019Foursys e InovaBra  - O poder da IA em suas mãos - 31.07.2019
Foursys e InovaBra - O poder da IA em suas mãos - 31.07.2019Fulvio Mascara
 
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...Fulvio Mascara
 
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...Fulvio Mascara
 
AI BRASIL - Visão Computacional com Raspberry Pi
AI BRASIL - Visão Computacional com Raspberry PiAI BRASIL - Visão Computacional com Raspberry Pi
AI BRASIL - Visão Computacional com Raspberry PiFulvio Mascara
 
DevelopersBR - Visão computacional com Azure Cognitive Services e Azure ML S...
DevelopersBR -  Visão computacional com Azure Cognitive Services e Azure ML S...DevelopersBR -  Visão computacional com Azure Cognitive Services e Azure ML S...
DevelopersBR - Visão computacional com Azure Cognitive Services e Azure ML S...Fulvio Mascara
 

Mais de Fulvio Mascara (6)

Usando Azure Cognitive Services para Reconhecimento Facial
Usando Azure Cognitive Services para Reconhecimento FacialUsando Azure Cognitive Services para Reconhecimento Facial
Usando Azure Cognitive Services para Reconhecimento Facial
 
Foursys e InovaBra - O poder da IA em suas mãos - 31.07.2019
Foursys e InovaBra  - O poder da IA em suas mãos - 31.07.2019Foursys e InovaBra  - O poder da IA em suas mãos - 31.07.2019
Foursys e InovaBra - O poder da IA em suas mãos - 31.07.2019
 
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...
TDCSP2019 - Trilha: Computação Cognitiva - Palestra: Serviços cognitivos de V...
 
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...
TDCSP2019 - Trilha: Inteligência Artificial - Palestra: AI at the Edge - Plat...
 
AI BRASIL - Visão Computacional com Raspberry Pi
AI BRASIL - Visão Computacional com Raspberry PiAI BRASIL - Visão Computacional com Raspberry Pi
AI BRASIL - Visão Computacional com Raspberry Pi
 
DevelopersBR - Visão computacional com Azure Cognitive Services e Azure ML S...
DevelopersBR -  Visão computacional com Azure Cognitive Services e Azure ML S...DevelopersBR -  Visão computacional com Azure Cognitive Services e Azure ML S...
DevelopersBR - Visão computacional com Azure Cognitive Services e Azure ML S...
 

TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Visão Computacional

  • 1. Globalcode – Open4education Trilha – Machine Learning Uso de PyTorch para Aplicações de Visão Computacional Fulvio Mascara Cientista-chefe @ Foursys Community Manager @ AI Brasil
  • 2. Globalcode – Open4education • Corredor de media e longa distância • Diabético • Programo desde os 11 anos • “Tocador” de violão e guitarra • Gosto de cozinhar e viajar • 30 anos de carreira • Cientista-chefe (P&D&I) da Foursys • Community Manager – AI Brasil • Tecnológo em Proc. Dados (Mackenzie) • Pós-Graduado em Solution Architect (FIAP) • Pós-Graduado em Estatística Aplicada (FMU) … E CRACHÁ! CARA…
  • 3. Globalcode – Open4education Agenda Frameworks Deep Learning PyTorch Visão Computacional no PyTorch Demonstração Notebook Jupyter Expectativas Links úteis
  • 4. Globalcode – Open4education Frameworks Deep Learning Panorama atual
  • 5. Globalcode – Open4education Frameworks Deep Learning Principais Características – Visão Mercado Fonte: https://www.analyticsvidhya.com/blog/2019/03/deep- learning-frameworks-comparison/ Otimizado para performance Fácil de entender e codificar Bom suporte da comunidade Paralelizar processos para reduzir os cálculos Automaticamente calcule os gradientes Design de Código conveniente Exemplos / referências de código de alta qualidade Velocidade do treinamento e da inferência Quantidade de funções / métodos oferecidos “out of the box” Compatibilidade nas atualizações de versão Suporte a múltiplas linguagens de programação Fonte: https://medium.com/apache-mxnet/a-way-to-benchmark- your-deep-learning-framework-on-premise-4f7a0f475726
  • 6. Globalcode – Open4education Frameworks Deep Learning Principais Características – Visão pessoal Constante evolução Comunidade vibrante, usando o framework tanto pra pesquisa quanto produção Rápida curva de aprendizado Ter recursos que permitam depurar o processo de treinamento das redes Modelos prontos para facilitar o processo de Transfer Learning Exportar o resultado para formatos que acelerem a inferência para Mobile e Edge Computing Velocidade no treinamento e na inferência
  • 7. Globalcode – Open4education Frameworks Deep Learning Adoção / Uso – Visão Setembro/2018 Fonte: https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a Critérios: Online Job Listings KDnuggets Usage Survey Google Search Volume Medium Articles Amazon Books ArXiv Articles GitHub Activity
  • 8. Globalcode – Open4education Frameworks Deep Learning Adoção / Uso – Visão Abril/2019 Fonte: https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318 Critérios: Online Job Listings Google Search Interest Medium Articles Quora Followers ArXiv Articles GitHub Activity
  • 9. Globalcode – Open4education PyTorch Histórico Criado em Jan/16 pelo grupo de pesquisa de AI do Facebook Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan Baseado no Torch Escrito em Python, C++ e CUDA PyTorch 1.0 lançado em Dez/18, com foco de se consolidar como um framework único “the path from research to production” Atualmente está na versão 1.1, lançada em Abril/19
  • 10. Globalcode – Open4education PyTorch Características Fácil e muito flexível para prototipação Apesar das diversas features da v1.0, ainda é um framework muito mais voltado pra pesquisa Computação por Tensores, que acabam sendo uma abstração de arrays do numpy, mas com os ganhos computacionais do uso de GPU O fato de herdar as características do numpy, facilita a curva de aprendizado Estrutura de programação imperativa e não declarativa Dynamic Computational Graphs, ou seja, você pode alterar a arquitetura de uma rede durante sua execução, pois o “graph” é gerado “on the fly” Os DCGs são o que viabilizam um outro recurso do PyTorch: autograd. O autograd (módulo) usa um método de AD (Automatic Differentiation) pra “gravar” as operações de forward-pass e realizar um replay das mesmas pra calcular os gradientes no backprop Funcionalidades pra escalar o processo de treinamento das redes, provendo ganho de performance Possui compilador jit (just in time), que com o uso de Torch Script, torna possível rodar um código salvo no PyTorch, de forma compilada e sem necessidade do Python. Suporte nativo ao ONNX (Open Neural Network Exchange), o que facilita na integração com outras ferramentas compatíveis com este padrão Front-end híbrido, que permite transitar entre “eager mode” e “graph mode” Possui API e Front-end em C++ Conta com datasets e modelos prontos pra uso, acelelerando o processo de prototipação e desenvolvimento Pronto para os principais vendors e plataformas de cloud AI/ML do mercado (AWS Sagemaker, Azure, GCP Kubeflow e Tensorboard)
  • 11. Globalcode – Open4education PyTorch Principais Estruturas Matrizes ou Tensores Operações com Tensores Variáveis e Gradientes (Autograd)
  • 12. Globalcode – Open4education PyTorch Principais Estruturas Matrizes ou Tensores Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
  • 13. Globalcode – Open4education PyTorch Principais Estruturas Operações com Tensores Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
  • 14. Globalcode – Open4education PyTorch Principais Estruturas Variáveis e Gradientes (Autograd) Fonte: https://towardsdatascience.com/pytorch-fundamentals-50af6121d4a3
  • 15. Globalcode – Open4education PyTorch CNN – Convolutional Neural Networks https://miro.medium.com/max/2625/1*vkQ0hXDaQv57sALXAJquxA.jpeg
  • 16. Globalcode – Open4education PyTorch Visão Computacional e CNNs torch.nn Convolution Layers Pooling Layers Padding Layers Dropout Layers Vision Layers
  • 17. Globalcode – Open4education PyTorch Visão Computacional e CNNs torch.nn.functional Convolution Functions Pooling Functions Dropout Functions Vision Functions
  • 18. Globalcode – Open4education PyTorch Visão Computacional e CNNs torchvision transformsdatasets models Crop Resize Scale Flip Rotate Color Brightness / Contrast / Hue Affine Compose (Pipeline) PIL Image Tensor
  • 20. Globalcode – Open4education Expectativas Aumentar a adoção em ambientes produtivos PyTorch Lite Ter uma versão não imperativa
  • 21. Globalcode – Open4education Conclusões Links úteis Awesome List – PyTorch https://github.com/bharathgs/Awesome-pytorch-list The Incredible PyTorch https://www.ritchieng.com/the-incredible-pytorch/ Fast.ai https://docs.fast.ai/index.html Chainer https://chainer.org
  • 22. Globalcode – Open4education Contatos in/fulviomascara @fulviomascara fulvio.mascara fulviomascara