Aprendendo ONNX para negociação - página 2

 

Desafios em Deep Learning | Tutorial-2 | Troca de Rede Neural Aberta | ONNX



Desafios em Deep Learning | Tutorial-2 | Troca de Rede Neural Aberta | ONNX

Os desafios de usar diferentes estruturas de aprendizado profundo e aceleradores de hardware durante a inferência são discutidos neste segmento de vídeo. O ONNX é apresentado como um tipo de modelo intermediário compatível com várias estruturas de aprendizado profundo e aceleradores de hardware, permitindo a transferência contínua de modelos entre eles. A conversão de modelos ONNX em estruturas específicas quando necessário permite maior flexibilidade ao usar modelos treinados em diferentes sistemas. Compreender esses desafios e soluções pode ajudar na criação de um pipeline eficaz para trabalhar com aprendizado profundo.

  • 00:00:00 Nesta seção do vídeo, são discutidos os desafios do aprendizado profundo. As várias estruturas populares usadas no aprendizado profundo incluem Cafe, TensorFlow, Keras e MXNet. Para alto poder computacional, são necessários aceleradores de hardware, otimizados para soluções de aprendizado profundo, como NVIDIA GPU, Intel GPU e Google TPU. A inferência também requer um modelo otimizado para garantir a eficiência, e há várias opções de hardware de inferência disponíveis, como NVIDIA T4, CPUs e dispositivos S como Google Coral, Raspberry Pi e Jetson VR. É crucial considerar os fatores de software e hardware ao selecionar um dispositivo para fins de aprendizado profundo. O ONNX é preferido por sua compatibilidade com várias estruturas de aprendizado profundo e aceleradores de hardware, facilitando a transferência perfeita de modelos entre eles.

  • 00:05:00 Nesta seção, o palestrante explica o desafio de usar um modelo treinado com uma estrutura ou hardware diferente na etapa de inferência. Esse problema pode ser resolvido com o Open Neural Network Exchange (ONNX), um tipo de modelo intermediário que pode ser usado com diferentes hardwares e estruturas. O modelo ONNX pode ser convertido em qualquer estrutura específica, se necessário. Essa solução permite maior flexibilidade no uso de modelos treinados em diferentes sistemas. O palestrante conclui dizendo que entender esses problemas e soluções ajudará na criação de um pipeline e no trabalho eficaz com aprendizado profundo.
 

Tudo sobre ONNX | Tutorial-3 | Troca de Rede Neural Aberta | ONNX



Tudo sobre ONNX | Tutorial-3 | Troca de Rede Neural Aberta | ONNX

O vídeo discute ONNX, uma estrutura intermediária de aprendizado de máquina que permite a conversão de modelos em diferentes tipos de modelo de estrutura e fornece recursos de otimização. Introduzido pela primeira vez em 2017 pela AWS, Microsoft e Facebook, o ONNX ganhou popularidade e contribuições de outras empresas, incluindo IBM, Intel e Huawei. Atualmente, muitas empresas estão se dedicando a trabalhar no ecossistema ONNX.

 

Princípios de design | Tutorial-4 | Troca de Rede Neural Aberta | ONNX



Princípios de design | Tutorial-4 | Troca de Rede Neural Aberta | ONNX

Neste vídeo, o palestrante explica os princípios de design do Open Neural Network Exchange (ONNX). Inicialmente desenvolvido para aprendizado profundo, o ecossistema se expandiu para oferecer suporte ao aprendizado de máquina tradicional também. O ONNX é adaptável com atualizações de outros frameworks, padronizado com operações bem definidas de aplicações práticas e capaz de exportar/importar modelos com facilidade. Esses recursos o tornam uma escolha conveniente para usuários finais que procuram uma solução flexível e eficiente.

 

Formato de arquivo ONNX | Tutorial-5 | Troca de Rede Neural Aberta | ONNX




Formato de arquivo ONNX | Tutorial-5 | Troca de Rede Neural Aberta | ONNX

Este vídeo tutorial aborda o formato de arquivo ONNX para modelos de aprendizado de máquina, que contém listas de entrada e saída, operadores e nós computacionais e parâmetros do operador junto com metadados e versão do modelo. O formato de arquivo ONNX não é uma caixa preta e pode ser visualizado. O palestrante fornece exemplos de operadores como ReLU e PReLU e demonstra um gráfico de modelo de aprendizado profundo e o compara com o gráfico de formato de arquivo ONNX. Os operadores personalizados também podem ser mapeados usando o ONNX, tornando-o uma escolha popular para redes neurais devido à sua flexibilidade e funcionalidade.

  • 00:00:00 Nesta seção, o palestrante discute o formato de arquivo ONNX para modelos de aprendizado de máquina, que não é uma caixa preta e pode ser visualizado. O formato de arquivo ONNX contém listas de entrada e saída, uma lista de nós e operadores computacionais e parâmetros do operador, bem como metadados e a versão do modelo. O palestrante demonstra um gráfico de modelo de aprendizado profundo, que é uma sequência de nós computacionais, e o compara com o gráfico de formato de arquivo ONNX. O formato de arquivo ONNX contém esquemas de operadores que mapeiam operadores de estruturas como Keras, TensorFlow e PyTorch. O palestrante mostra exemplos de operadores como ReLU e PReLU.

  • 00:05:00 Nesta seção, o palestrante explica como, ao converter um modelo real para o formato de arquivo ONNX, a estrutura está apenas mapeando os operadores no modelo. Operadores personalizados também podem ser criados e mapeados usando o ONNX. ONNX é uma plataforma flexível que oferece muitas funcionalidades, razão pela qual se tornou popular no campo das redes neurais.
 

Tipo de dados ONNX | Tutorial-6 | Troca de Rede Neural Aberta | ONNX



Tipo de dados ONNX | Tutorial-6 | Troca de Rede Neural Aberta | ONNX

O vídeo explica que o ONNX possui dois tipos de especificações: redes neurais profundas e aprendizado de máquina. O primeiro usa tipos de dados tensores como inteiros, flutuantes, booleanos, strings e tipos complexos, que também são usados em Python e TensorFlow. Enquanto isso, o último usa tipos de dados não tensores, como sequências e mapas, devido ao aprendizado baseado em estatística que normalmente não utiliza tensores.

 

Exemplo de aprendizado de máquina | Tutorial-7 | Troca de Rede Neural Aberta | ONNX



Exemplo de aprendizado de máquina | Tutorial-7 | Troca de Rede Neural Aberta | ONNX

Este tutorial em vídeo explica como converter um modelo salvo em formato pickle em um formato de arquivo de modelo Open Neural Network Exchange (ONNX) para um exemplo prático de aprendizado de máquina usando ONNX. O vídeo fornece um arquivo de requisitos especificando os pacotes necessários, e o palestrante fornece um código simples para importar dados, dividir e treinar o modelo antes de converter para o formato ONNX usando o pacote skl2onnx. Um script de conversão é fornecido e instruções para visualizar o gráfico resultante com a ferramenta Netron e realizar inferência no modelo ONNX são compartilhadas. O palestrante destaca a portabilidade e otimização do formato ONNX e incentiva a prática com o processo de conversão.

  • 00:00:00 Nesta seção, o vídeo aborda um exemplo prático de aprendizado de máquina usando ONNX. O exemplo envolve treinar um modelo e salvá-lo em formato pickle e, em seguida, convertê-lo em formato de arquivo de modelo ONNX. O vídeo fornece um arquivo require.txt onde todos os pacotes de requisitos são especificados, incluindo sklearn e skl2onnx, que é o conversor. O vídeo mostra um código simples de importação do conjunto de dados, realizando uma divisão de teste de treinamento e treinando o modelo. Finalmente, um script de conversão é fornecido para converter o modelo salvo para o formato ONNX usando o pacote skl2onnx.

  • 00:05:00 Nesta seção, o palestrante explica como converter um modelo pickle em um modelo ONNX usando um script simples. O script envolve carregar o modelo pickle, definir o tipo de dados, chamar a função convert_scalar e passar o objeto de classe antes de salvar o modelo como um arquivo ONNX. O palestrante também demonstra como visualizar o gráfico resultante usando a ferramenta Netron e realizar inferência usando o modelo ONNX passando uma entrada de amostra. O formato ONNX é descrito como mais portátil e otimizado do que o formato pickle, pois pode ser usado em qualquer ecossistema ONNX. O palestrante recomenda praticar o processo de conversão para lembrar como fazê-lo de forma eficaz.
 

Tempo de Execução ONNX | Tutorial-8 | Troca de Rede Neural Aberta | ONNX



Tempo de Execução ONNX | Tutorial-8 | Troca de Rede Neural Aberta | ONNX

O palestrante discute o tempo de execução do ONNX e sua importância no aprendizado profundo. O ONNX Runtime é um mecanismo de alto desempenho, rápido e fundado pela Microsoft. É uma estrutura extensível e modular que é de código aberto e vem com o Windows 10. A Microsoft prefere esse tempo de execução porque é rápido e eficiente para aprendizado profundo, ao contrário do tempo de execução padrão, que pode atrasar. Além disso, o diagrama de tempo de execução ONNX mostra como o tempo de execução ONNX é usado para converter um modelo existente em um formato de arquivo ONNX e, em seguida, o tempo de execução ONNX é usado para executar o modelo sem se preocupar com o hardware ou estrutura. O palestrante sugere que o público possa mergulhar fundo no tempo de execução do ONNX no GitHub oficial do ONNX.
 

Zoológico modelo ONNX | Tutorial-9 | Troca de Rede Neural Aberta | ONNX



Zoológico modelo ONNX | Tutorial-9 | Troca de Rede Neural Aberta | ONNX

O ONNX Model Zoo é uma coleção de modelos pré-treinados para diferentes tarefas, como classificação de imagens, detecção de objetos e processamento de voz e áudio. Os modelos pré-treinados estão disponíveis para download como arquivos ONNX e podem ser usados com qualquer estrutura ou tempo de execução ONNX para inferência. Além disso, as plataformas de nuvem, como o Azure ML, oferecem funcionalidade semelhante em que os usuários podem carregar seus próprios dados e treinar modelos para download como arquivos ONNX. O próximo vídeo mostrará como usar um modelo pré-treinado do ONNX Model Zoo para reconhecimento de dígitos manuscritos.

 

Demonstração de zoológico modelo ONNX | Tutorial-10 | Troca de Rede Neural Aberta | ONNX



Demonstração de zoológico modelo ONNX | Tutorial-10 | Troca de Rede Neural Aberta | ONNX

O tutorial em vídeo mostra como usar o ONNX Model Zoo para realizar inferências em um modelo ONNX usando o tempo de execução ONNX. O apresentador orienta os espectadores no processo de criação de um ambiente virtual, instalação dos pacotes necessários, download do modelo manuscrito MNIST do ONNX Model Zoo e criação de um script Python para inferência. A demonstração mostra que o tempo de previsão é rápido e incentiva os usuários a baixar modelos diretamente do ONNX Model Zoo. O vídeo mostra o próximo tutorial, que abordará a conversão de um modelo Python em TensorFlow.

  • 00:00:00 Nesta seção, o apresentador demonstra como baixar o modelo manuscrito MNIST do ONNX Model Zoo e realizar inferências no tempo de execução do ONNX. O usuário precisa criar um ambiente virtual e instalar os pacotes necessários, como ONNX Runtime, OpenCV e NumPy. O apresentador então mostra como baixar o modelo diretamente do ONNX Model Zoo ou copiando o link para o site CNTK.ai. Após o download do modelo, o apresentador explica como escrever um script Python para inferência, incluindo carregar o modelo ONNX, pré-processar a imagem e executar a sessão para obter a saída. Por fim, o apresentador exibe a previsão pintando os resultados com base na operação argmax.

  • 00:05:00 Nesta seção, o palestrante discute a inferência com modelos ONNX usando o tempo de execução ONNX. Eles demonstram o uso de um modelo ONNX pré-treinado para prever dígitos manuscritos e mostram que o tempo de previsão é bastante rápido. O palestrante também menciona que os usuários podem baixar modelos do ONNX Model Zoo e iniciar a inferência sem a necessidade de convertê-los. Eles provocam o próximo vídeo, onde planejam converter um modelo Python em TensorFlow, dando aos usuários uma compreensão mais aprofundada do processo de conversão do modelo.
 

Demonstração de PyTorch para Tensorflow | Tutorial-11 | Troca de Rede Neural Aberta | ONNX



Demonstração de PyTorch para Tensorflow | Tutorial-11 | Troca de Rede Neural Aberta | ONNX

O vídeo demonstra como usar ONNX para converter um modelo PyTorch para o formato TensorFlow. O processo envolve treinar o modelo no PyTorch, salvá-lo no formato .pth e, em seguida, convertê-lo no formato ONNX antes de finalmente convertê-lo no formato TensorFlow. O processo de conversão é mostrado em detalhes por meio do uso de um modelo de classificação de dígitos manuscritos usando o conjunto de dados MNIST, e o modelo TensorFlow resultante é testado com imagens de exemplo. O vídeo também aborda brevemente a conversão de um modelo de Caffe2 para ONNX e sugere que os usuários explorem mais o ONNX.
  • 00:00:00 Nesta seção do vídeo, o palestrante demonstra como converter um modelo Python em TensorFlow usando ONNX. Eles explicam que, ao converter modelos, há duas etapas que precisam ser seguidas: primeiro, treine o modelo no framework desejado e, em seguida, converta-o para o formato de arquivo ONNX. A partir daí, ele pode ser convertido para o formato desejado, como TensorFlow ou PyTorch. O palestrante mostra como usar os pacotes ONNX e TensorFlow para converter um modelo de classificação de dígitos manuscrito de PyTorch para TensorFlow usando o conjunto de dados MNIST. Eles explicam cada etapa do processo, incluindo a instalação dos pacotes necessários, importação de bibliotecas, definição do modelo e criação de treinamento e teste
    funções. O código do notebook é fornecido na seção de recursos para os usuários acompanharem.

  • 00:05:00 Nesta seção do vídeo, o apresentador treina um modelo PyTorch e o salva em um formato de arquivo .pth. Em seguida, o modelo é carregado e convertido em um formato de arquivo ONNX. O modelo ONNX convertido é então carregado no TensorFlow para testar sua funcionalidade em imagens three.png e seven.png. O modelo prevê os valores corretos para ambas as imagens. Finalmente, o modelo ONNX é convertido em um modelo TensorFlow e salvo em um formato de arquivo .pb, que pode ser usado para futuras previsões. No geral, o apresentador demonstra como converter modelos PyTorch em modelos TensorFlow com a ajuda do ONNX.

  • 00:10:00 Nesta seção do vídeo, o palestrante discute como alguém pode converter seu modelo de um modelo caffe2 para ONNX. O palestrante forneceu um link para o notebook onde o código já está escrito e todos os pacotes necessários estão disponíveis. O palestrante explica que todas as conversões possíveis, como PyTorch para ONNX, PyTorch para Caffe2 e TensorFlow para ONNX, estão disponíveis no notebook. O palestrante aconselha os espectadores a explorar mais o ONNX e experimentar exemplos em tempo real para uma melhor experiência de aprendizado. Por fim, o palestrante encerra o vídeo e agradece aos espectadores por assistirem à série.
Razão: