[Forçado a tentar] Baixe o código-fonte Onnxruntime1.12.0 na versão Jetpack5.0.1 para compilar e gerar a instalação do arquivo wheel (Cuda11.4+TensorRT8.4)

arquivo compilado

Eu carreguei o arquivo compilado , cuda11.4+tensorrt8.4 deve ser instalado diretamente. Nenhum ponto é definido, portanto não há garantia de que a série jetson possa ser usada, mas é possível em teoria

fundo

Eu disse antes que o tensorrt do jetpack4.6.2 não suporta a versão 16G do NX. Recentemente, vi uma resposta oficial do fórum da nvidia dizendo que você pode tentar o jetpack5.0.1, então vamos baixar e experimentar. Como resultado, me senti entorpecido e senti como se tivesse postado antes de terminar de escrevê-lo.Depois que tudo foi instalado, o acionamento do ventilador foi embora e o ventilador foi puxado diretamente para a capacidade total, o que era muito barulhento. Mas está tudo bem. Para mim, o melhor é a versão python3.8 do onnxruntime-gpu1.11.0 baixado do jetson zoo, que não reconhece o cuda e mostra que o cuda10.2 não pode ser encontrado. . . Mas o cuda no jetpack5.0.1 é 11.4, então obviamente não foi encontrado. Tudo bem, então você só pode criar o código-fonte no dispositivo sozinho. máscara de dor

referência

referência oficial onnx

processo de julgamento

  1. Consulte o processo dele, primeiro,
    git clone --recursive https://github.com/microsoft/onnxruntime
    mas é muito lento na China. Encontrei uma cópia que foi copiada recentemente.
    git clone --recursive https://gitee.com/paddle-mirror/onnxruntime
    No começo, vi a velocidade decolar e, depois de assistir à próxima seção, descobri que as pastas vinculadas a outras os projetos ainda precisavam ser baixados do git. . . Mmp, ok, pensei sobre isso, depois baixe o corpo principal no computador primeiro, depois fique on-line cientificamente e faça o download e, finalmente, copie-o para o jetson. Depois de copiá-lo, um erro será relatado e precisa ser resolvido.Se você pode navegar na Internet cientificamente no jetson, é recomendável baixá-lo diretamente nele . As velocidades de download são relativamente indolores
  2. Durante o download, você pode realmente verificar se o cmake é adequado. Segundo ele, o cmake deve ser maior ou igual a 3.18. Eu verifiquei o meu 3.16, ok, tenho que instalar o cmake. Baixei uma versão 3.22 aqui e segui o documento de instalação
 cmake . 
 make      
 make install

O lote lento, é recomendável fazer junto com o download, parece que apareceu uma pessoa no meio do caminho e pediu para eu baixar o openssl, então

sudo apt-get install libssl-dev

+++++ Adicione uma etapa aqui, de acordo com a situação real posteriormente, também precisamos instalar o abceil-cpp, caso contrário, ele será baixado posteriormente durante a compilação e não será baixado de forma alguma e será dividido diretamente.

Baixei deste local e a operação clássica foi concluída de uma só vez

mkdir build
cd build
cmake ..
make      
make install
  1. Não tenho certeza se há algum problema com esta etapa. Como o tensorrt de jetson5.0.1 é 8.4 agora, onnx-tensorrt também precisa corresponder à versão 8.4, então baixe a versão 8.4 correspondente a onnx-tensorrt, cd para o caminho onnxruntime/cmake/external/onnx-tensorrt,
git clone --recursive -b 8.4-EA https://github.com/onnx/onnx-tensorrt.git

Percebe-se que algumas coisas são realmente repetidas, o que deixa as pessoas irritadas

  1. Então comprimi o material no jetson e descompactei novamente e digitei de acordo com o documento:
 export CUDACXX="/usr/local/cuda/bin/nvcc"
  1. Então a pressão sanguínea sobe, digite:
 ./build.sh --config Release --update --build --parallel --build_wheel \
 --use_tensorrt --cuda_home /usr/local/cuda-11.4 --cudnn_home /usr/lib/aarch64-linux-gnu \
 --tensorrt_home /usr/lib/aarch64-linux-gnu

Este tipo de erro é relatado em uma refeição:

fatal: unsafe repository ('/home/ubuntu/Documents/onnxruntime/cmake/external/onnx-tensorrt/third_party/onnx' is owned by someone else)
To add an exception for this directory, call:

	git config --global --add safe.directory /home/ubuntu/Documents/onnxruntime/cmake/external/onnx-tensorrt/third_party/onnx

Tudo bem, acompanhe. Eu pensei que só precisava derrubar um, mas não esperava bater um monte, então, se possível, faria o download diretamente do jetson.
Apareceu um erro de checkout no meio, deve ser o problema que baixei novamente o onnx-tensorrt depois, ok, encontrei uma solução na Internet , fiquei confuso, não sei se limpou minha parte e baixei novamente ou verifique por um momento.
Então, depois de um monte de configurações, ele pode finalmente começar. A compilação não relatou um erro até agora 63%. Ei, saí do trabalho. Fugi e construí por duas horas e foi apenas 70%. Encontre um arquivo whl na pasta, basta instalá-lo.

teste

Basta pegar o código onnx que usei para meu teste anterior e executá-lo. O onnx puro pode ajustar a biblioteca cuda e a velocidade de execução é quase a mesma de antes. O Tensorrt também está em execução agora, portanto, não é em vão.

おすすめ

転載: blog.csdn.net/weixin_42492254/article/details/124951234