Despliegue del modelo Pytorch al modelo TensorRT (1. Construcción del entorno)

0. Prefacio

Soluciones comunes para la implementación de modelos de IA
Referencia: del modelo pytorch a la implementación del modelo TensorRT

  1. cpu: pytorch->onnx->onnxruntime
  2. gpu: pytorch->onnx->onnx2trt->tensorRT
  3. brazo: pytorch->onnx->ncnn/mace/mnn

Aquí estamos usando la implementación del modelo GPU: pytorch->onnx->onnx2trt->tensorRT

1. Configuración del entorno (Linux)

dependencia importante

  • CUDA
  • oculto
  • TensorRT
  • antorcha

instalación CUDA

paso 1. Debe verificar la versión máxima de CUDA admitida por el controlador de gráficos de su computadora

Comandos para ver la información de la GPU

watch -n 0.5 nvidia-smi

inserte la descripción de la imagen aquí

Por ejemplo, la versión máxima de CUDA admitida por el controlador de la tarjeta

CUDA Version: 12.0

paso 2. Descarga CUDA

Enlace: sitio web oficial de descarga de CUDA: CUDA Toolkit Archive | NVIDIA Developer
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Después de la descarga, obtendrá un archivo .run
inserte la descripción de la imagen aquí

paso 3. Instalar

sudo chmod +x cuda_11.6.0_510.39.01_linux.run #给文件权限
./ cuda_11.6.0_510.39.01_linux.run

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Para aquellos que ya han seguido el controlador de la tarjeta gráfica, siempre decimos que debemos presionar Enter para cancelar la instalación del controlador.
inserte la descripción de la imagen aquí
Las opciones son sobre la ruta de instalación y la configuración del enlace, elijo el valor predeterminado.

Paso 4. Configuración de variables de entorno

Después de completar la instalación

cd /usr/local/

Verá cuda y cuda11.6, cuda es un enlace a cuda11.6.
inserte la descripción de la imagen aquí
Si ha instalado más cuda, como cuda11.6 y cuda11.7, entonces debe apuntar el archivo cuda a cuda11.7 cuando necesite usar cuda11.7 Esta operación puede realizarse automáticamente durante la instalación.
establecer variables de entorno

sudo gedit ~/.bashrc 
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
export PATH="/usr/local/cuda/bin:$PATH"
export CUDA_HOME="/usr/local/cuda:$CUDA_HOME"

Después de guardar y salir, debe actualizar en cada terminal

source ~/.bashrc 

O reinicie su computadora.

No instalaremos cudnn primero y luego lo instalaremos de acuerdo con la versión de cudnn requerida por TensorRT después de que se confirme la versión de TensorRT. Si no lo hace, habrá alertas cuando use TensorRT, que será mejor que evitemos. Las instrucciones para cudnn aparecerán en el capítulo de instalación de TensorRT.

paso 5. Verificación

nvcc -V

inserte la descripción de la imagen aquí

instalación de Pytorch

paso 1. Instale Miniconda y cree un entorno para la instalación de pytorch

Link: linux install miniconda3
versión python, elijo 3.8

paso 2. Instalar la versión de pytorch

Enlace: pytorch
inserte la descripción de la imagen aquí
Aquí puede elegir más versiones de pytorch, según la versión de cuda que tenga instalada.
inserte la descripción de la imagen aquí
versión de mi elección

1.12.0+cu116

Instalación de TensorRT

paso 1. Descarga TensorRT

Enlace: Descarga de NVIDIA TensorRT
Seleccione una versión para descargar y asegúrese de que el CUDA compatible con esta versión corresponda a su versión.
inserte la descripción de la imagen aquí
Lo que descargué
inserte la descripción de la imagen aquí
Vamos a instalar cudnn La versión de cudnn requerida por TensorRTu es 8.6.

Instalación de Step2.cudnn

Enlace: descarga de cuDNN
inserte la descripción de la imagen aquí
Después de descargarlo y descomprimirlo, lo obtendrá.
inserte la descripción de la imagen aquí
Luego use el comando para copiar los archivos en include y lib a la carpeta cuda-11.6, /usr/local/cuda-11.6
inserte la descripción de la imagen aquí
Enlace: instalación y versión de Linux cuda, cudnn traspuesta

sudo cp include/cudnn* /usr/local/cuda-11.6/include/

sudo cp lib/lib* /usr/local/cuda-11.6/lib64/

sudo chmod a+r /usr/local/cuda-11.6/include/cudnn* /usr/local/cuda-11.6/lib64/libcudnn*

paso 3. Instalación de TensorRT-python

Cambiar al entorno pytorch

conda activate pytorch

Ingrese a la carpeta de instalación de TensorRT-python
inserte la descripción de la imagen aquí
según su versión de python
inserte la descripción de la imagen aquí

pip install tensorrt-8.5.1.7-cp38-none-linux_x86_64.whl


inserte la descripción de la imagen aquí
Solo disponible en su entorno pytorch después de la lista de pips

import tensorrt as trt

Información del entorno de impresión

import torch
import cv2
import tensorrt
print(torch.__version__)# 1.12.1+cu116
print(torch.version.cuda)# 11.6
print(torch.backends.cudnn.version())#   8600
print(cv2.__version__)
print(tensorrt.__version__)

Tenga en cuenta que la impresión de la versión cudnn es adecuada para tensorrt. Si actualiza la versión de cuda o cudnn, debe reinstalar el kit de herramientas tensorrt en el entorno pytorch.

torch.backends.cudnn.version()

Supongo que te gusta

Origin blog.csdn.net/qq_42911863/article/details/128700184
Recomendado
Clasificación