Razões para escolher PyTorch para Deep Learning
PyTorch tem muito a oferecer aos programadores de Deep Learning
Aprendizado profundo e aprendizado de máquina têm sido as palavras da moda entre todos nos últimos anos, e há uma explicação perfeita para isso.
O aprendizado de máquina permitiu que os sistemas aprendessem com a experiência, enquanto o aprendizado profundo levou o aprendizado de máquina a uma escala ainda maior com o uso de conjuntos de dados expansivos. Este impulso no ML e DL deu origem a vários linguagem de programação s e bibliotecas que veio e permitiu programadores , pesquisadores e cientistas de dados para alcançar o impensável. Alguns dos mais fortes candidatos à melhor biblioteca de Deep Leaning são TensorFlow e PyTorch . Por enquanto, vamos nos concentrar mais no PyTorch.
O Facebook lançou o PyTorch para o cenário de programação em 2016 , que é baseado na biblioteca Torch da Lua .
PyTorch é uma biblioteca de aprendizado de máquina gratuita e de código aberto e está atualmente na v1.4 . O PyTorch foi lançado há quase três anos e passou por várias melhorias para estar em uma posição melhor. O PyTorch foi criado para ser mais rápido e Python do que o resto da competição. Também inclui suporte para computação C, C ++ e Tensor .
Google Trends - PyTorch Interest Over Time
Google Trends (fonte)
Antes de pular para as razões pelas quais não devemos dar uma chance ao PyTorch, abaixo estão alguns dos projetos e bibliotecas de Deep Learning únicos e emocionantes que PyTorch ajudou a dar à luz:
● CheXNet: Detecção de pneumonia em nível de radiologista em radiografias de tórax com aprendizado profundo.
● Horizon: uma plataforma para aprendizagem por reforço aplicado (Applied RL)
● PYRO : Pyro é uma linguagem de programação probabilística universal (PPL) escrita em Python e suportada pelo PyTorch no backend.
● Kaolin da NVIDIA como uma biblioteca PyTorch para acelerar o 3D Deep Learning
● TorchCV para implementar a visão computacional em seus projetos
● PyDLT como um conjunto de ferramentas para aprendizado profundo
● biblioteca fastai otimiza seu processo de treinamento de rede neural
● e muito mais.
Esses são alguns frameworks e projetos desenvolvidos com base no TensorFlow e no PyTorch. Você pode encontrar mais no Github e nos sites oficiais da TF e PyTorch.
Em um mundo de TensorFlow , o PyTorch é capaz de se manter sozinho com seus pontos fortes. Abaixo estão alguns dos destaques que explicam por que o PyTorch seria um ajuste adequado para seus Projetos de Aprendizado Profundo:
1. PyTorch é mais pitônico
PyTorch é um framework que nos permite escrever código de uma forma mais pítônica . Além disso, o tipo de dinamismo que ele suporta usando código python ingênuo é notável.
PyTorch tende a se inclinar mais para Python quando comparado com qualquer outra biblioteca. É porque PyTorch é relativamente fácil de entender e parece mais natural , nativo e alinhado com o código Python .
Para quem já trabalhou com Python, eles se sentirão em casa com tudo com PyTorch, como funções de perda, otimizadores, transformações, carregadores de dados e muito mais classes.
O código para cada exemplo PyTorch (Vision e NLP) compartilha uma estrutura comum:
Exemplo de PyTorch (fonte)
Quando comparado ao PyTorch, o TensorFlow tem uma curva de aprendizado relativamente mais íngreme. Os programadores de Python precisarão de menos tempo para se ajustar ao PyTorch, pois para eles provavelmente parecerá uma extensão do framework do Python. A depuração fácil e um grande conjunto de APIs simples desempenham um papel fundamental em tornar o PyTorch mais fácil de entender para os programadores.
3. Bibliotecas úteis
Com grande apoio da comunidade vem grande entusiasmo e contribuições para a comunidade. Usando o PyTorch, os programadores foram em frente e criaram alguns projetos que estão disponíveis para qualquer pessoa interessada em dar uma olhada. Uma lista combinada de um punhado desses projetos em vários domínios, como Visão Computacional , Processamento de Linguagem Natural e Bibliotecas Geradoras, está abaixo:
● pro_gan_pytorch para aproveitar os recursos do ProGAN
● BoTorch para usar otimizações bayesianas
● ParlAI para compartilhar, treinar e testar modelos de diálogo
● OpenNMT-py para implementação de sistema de tradução automática neural
● MUSE para embeddings de palavras multilíngues
● skorch para fundir código scikit-learn com PyTorch
4. Paralelismo de dados sem esforço
O paralelismo de dados no PyTorch é eficiente e permite dividir os dados em lotes , que são enviados a várias GPUs para processamento. Usando essa técnica, o PyTorch pode mudar uma parte significativa da carga de trabalho da CPU para a GPU. Para paralelismo de dados , ele usa a classe torch.nn.DataParallel.
Distributed Data-Parallel é um recurso da PyTorch que você pode combinar com o Data-Parallel para lidar com casos de uso que exigem grandes conjuntos de dados e modelos grandes o suficiente para uma única GPU. Quando todas as tarefas no pool de GPUs são concluídas, o resultado é coletado, mesclado e enviado de volta para você pelo Data-Parallel.
Pytorch Data Parallel (fonte)
5. Excelente para pesquisadores
PyTorch é uma dádiva de Deus para pesquisadores , pois provou ser usado por pelo menos 70% dos pesquisadores que trabalham em frameworks. Apesar de ser a escolha líder do setor para o desenvolvimento de aplicativos, o TensorFlow ainda não alcançou o PyTorch nesse aspecto. Uma razão por trás disso pode ser a simplicidade e facilidade de uso que o PyTorch tem a oferecer com melhor desempenho.
6. Pronto para celular
A partir da v1.3 , PyTorch adicionou suporte para implantação em dispositivos Android e iOS . O recurso traz todos os benefícios do PyTorch para dispositivos de ponta para atender a aplicativos que exigem latências mais baixas. O objetivo por trás do PyTorch mobile é reduzir o ciclo de desenvolvimento, oferecendo suporte às APIs básicas para plataformas móveis, eliminando a necessidade de exportar para estruturas móveis como Caffe2. Isso permite uma redução significativa no espaço ocupado no dispositivo. Suporte para ajuste preciso de scripts de construção também foi adicionado para maior controle.
Comece a usar o PyTorch Mobile:
Comece no Android
Comece no iOS
7. Depuração fácil
O PyTorch é muito fácil de depurar quando você tem a opção de acessar cada linha e a maneira usual de imprimir após cada linha. A cereja do bolo é que os objetos e a operação no PyTorch contêm os dados reais e não as referências simbólicas, facilitando a vida dos programadores. Alguns dos depuradores padrão para PyTorch são:
● ipdb
● pdb
● PyCharm
Digamos, por exemplo, que você possa usar a função "pdb.set_trace ()" do pdb para colocar pontos de interrupção em seu código para detalhar a raiz do erro. Além disso, os gráficos computacionais dinâmicos do PyTorch permitem modificação dinâmica e depuração rápida enquanto seu código é executado.
Depuração PyTorch com pdb (fonte)
8. Suporte para ONNX
O Open Neural Network Exchange atua como um ecossistema de código aberto para Inteligência Artificial , fornecendo um terreno comum para os programadores de IA trabalharem de forma intercambiável em uma variedade de estruturas, ferramentas e bibliotecas. O ONNX faz isso fornecendo um formato de arquivo padrão que funciona em várias estruturas e hardware.
Quando se trata de PyTorch, o ONNX vem com suporte integrado para PyTorch e uma ampla variedade de outras estruturas, como Caffe2, MXNet, TensorFlow e muito mais. O ONNX torna mais fácil para os programadores de IA exportar e migrar seus modelos PyTorch para um formato aberto que outras estruturas podem integrar.
Suporte PyTorch nativo ONNX (fonte)
9. Suporte para gráficos computacionais dinâmicos
Ao visualizar cada modelo como um gráfico acíclico direcionado, o PyTorch oferece uma abordagem dinâmica para definir gráficos de computação. Enquanto outras estruturas permitem a definição de um gráfico estático, o PyTorch suporta a criação de um gráfico de computação dinâmica onde você é livre para manipulá-lo em qualquer lugar. Um desses elementos que mais se beneficia desse aspecto dinâmico do PyTorch são as redes neurais recorrentes, entre muitos outros.
10. Forte apoio da comunidade
PyTorch também oferece excelente suporte à comunidade . A casa do PyTorch possui documentação detalhada sobre cada um de seus recursos. Todas as atualizações mais recentes da biblioteca são bem explicadas. Com cada nova adição, tutoriais de suporte e recursos relacionados também podem ser encontrados para obter aquela sensação prática valiosa.
O PyTorch Forum é um lugar excelente e altamente recomendado para iniciantes para postar suas perguntas e veteranos para compartilhar suas idéias com outros programadores. Com mais de cem postagens por dia, a comunidade é bastante ativa e incentiva as pessoas a embarcarem no PyTorch.
Aqui estão alguns da comunidade de desenvolvedores PyTorch , recursos e tutoriais para contribuir, aprender e tirar suas dúvidas -
● Formulário de discussão PyTorch
● Comunidade do PyTorch Slack
● Exemplos PyTorch
● PyTorch Docs
● Tutoriais do Github Pytorch
● Cheatsheet para iniciantes do PyTorch
● Notas de versão do PyTorch
● Aprendizado profundo com Pytorch: um blitz de 60 minutos
● Usando dados do tutorial do Google Drive no Colab
● Documentos e tutoriais em chinês
● Tutoriais em coreano
Com um vasto número de recursos intuitivos para programadores de Deep Learning, o PyTorch tem muito a oferecer às pessoas em uma ampla gama de níveis de habilidade. Apesar de fornecer um ponto de entrada fácil, o PyTorch não deve ser considerado levianamente, pois oferece recursos que não apenas oferecem melhor desempenho em certos aspectos, mas também oferecem recursos exclusivos adicionais. Discutimos alguns dos recursos mais comentados do PyTorch para ajudá-lo a fazer aquele salto para o PyTorch sobre o qual você era tão cético.
Mais leituras interessantes -
Espero que você tenha achado este artigo útil! Abaixo estão algumas leituras interessantes, espero que você goste delas também -
Claire D . é criador e comerciante de conteúdo na Digitalogy - um mercado de sourcing de tecnologia e combinação customizada que conecta pessoas a desenvolvedores e designers pré-selecionados e de primeira linha com base em suas necessidades específicas em todo o mundo. Conecte-se com Digitalogy no Linkedin , Twitter , Instagram .
Chefboost - uma biblioteca Python alternativa para modelos baseados em árvore
Uma visão geral das principais diferenças do scikit-learn
Eu encontrei chefboost aleatoriamente em meu feed do Twitter e como nunca tinha ouvido falar dele antes, decidi dar uma olhada nele e testá-lo. Neste artigo, apresentarei brevemente a biblioteca, mencionarei as principais diferenças da biblioteca go-to que é o scikit-learn e mostrarei um exemplo rápido de chefboost na prática.
Estimador personalizado com PyCaret | Parte 1 | por Fahad Akbar
Um guia prático para construir e implantar um estimador compatível com Sklearn do zero no Scipy por meio do PyCaret Vamos concordar, o PyCaret é ótimo. Faz muito por você em tão pouco tempo.
As estrelas de 'Wandavision', Anthony Mackie e Sebastian Stan, estão chateadas por não terem sido convidados para as 'Loki Lessons' de Tom Hiddleston
Anthony Mackie e Sebastian Stan estão chateados por não poderem comparecer à palestra de Tom Hiddleston, especialmente porque foi tão perto.
'Loki': Owen Wilson revela que o cabelo grisalho de Mobius foi inspirado por seu papel nesta série de Mockumentary
Owen Wilson admite que sua cor de cabelo grisalho para seu personagem 'Loki' é inspirada por um papel anterior que ele teve na TV.
The Beatles: este famoso diretor está tentando fazer um filme baseado em suas canções
Este famoso diretor quer fazer outro filme baseado nas canções dos Beatles. Aqui está o que ela tinha a dizer sobre suas idéias.
Kate Herron, diretora de 'Loki', revela por que o Josta Energy Drink foi descontinuado na nova série Disney +
O diretor de Loki revela como e por que Owen Wilson é visto com a bebida energética descontinuada, Josta, na nova série Disney +.
Tarek El Moussa comemora o dia dos pais cedo com uma doce mensagem de texto da filha Taylor
"Fez meu dia", escreveu Tarek El Moussa no Instagram, compartilhando um bilhete doce que recebeu de sua filha de 10 anos, Taylor
Kamala Harris torna-se a primeira vice-presidente em março em um evento do Orgulho
A vice-presidente Kamala Harris fez história novamente no sábado, tornando-se a primeira vice-presidente a marchar em um evento do Orgulho, com a companhia do Segundo Cavalheiro Doug Emhoff na Capital Pride
Mãe de Nova York acusada de jogar seus dois filhos pequenos para fora da janela do segundo andar
As crianças e a mulher estavam supostamente nuas no momento do incidente
Joe Biden nomeará o Pulse Nightclub como um memorial nacional 5 anos depois de ser filmado no Orlando Gay Club
O presidente Joe Biden anunciou seus planos de nomear a Pulse Nightclub um memorial nacional no quinto aniversário do tiroteio no clube gay de Orlando, que matou 49 pessoas