Convolutional Neural Network 的 PyTorch 实现(二)使用TensorRT进行推理加速

本文章针对 Windows 10 系统

CUDA CuDNN的安装: 参考文章


TensorRT 环境安装与配置

下载链接 TensorRT

本文章针对 Windows10、CUDA10.2 的PC,选择相对应的安装包完成下载。

在这里插入图片描述


在这里插入图片描述

解压后在 ./TensorRT-version/python 路径下找到 .whl 文件。(cp37 表示 python_version == 3.7)

在这里插入图片描述

conda activate condaEnv
# 按照虚拟环境中的 python 版本选择安装对应的安装包
pip install tensorrt-8.5.3.1-cp37-none-win_amd64.whl

安装完成后,将 ./TensorRT-version/lib 路径下的所有文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin CUDA 安装目录下。

在这里插入图片描述

zlibwapi.dll 安装与配置

CUDA 11.6 版本对应的 PyTorch 默认安装,可忽略该步骤

下载链接 zlibwapi

选择 AMD64/Intel_EM64T 完成下载
在这里插入图片描述
./zlib123dllx64/dll_x64/zlibwapi.dll 文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin CUDA 安装目录下。
在这里插入图片描述

TensorRT 实现

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

# Transfer .pt to .engine(TensorRT)
python export.py --weights yolov5s.pt --include engine --device 0

python detect.py --weights yolov5s.engine --source 0

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于 Transformer 的模型通常用于文本生成和翻译等 NLP 任务,而不是图像分类。对于图像分类任务,通常使用卷积神经网络(Convolutional Neural Network,CNN)等模型。 但是,如果你想要尝试使用 Transformer 模型进行图像分类,可能可以将图像转换为序列数据,然后应用 Transformer 模型进行分类。例如,可以将图像的像素值按照一定的顺序排列成一个序列,然后输入到 Transformer 模型中进行分类。 下面是一个使用 CPU 进行图像分类的例子,使用的是 PyTorch 框架。这个例子使用的是 ResNet18 模型,而不是 Transformer 模型。 ```python import torch import torchvision.models as models import torchvision.transforms as transforms from PIL import Image # 加载模型 model = models.resnet18(pretrained=True) # 设置模型为评估模式 model.eval() # 图像预处理 transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] ) ]) # 加载图像 img = Image.open('example.jpg') # 预处理图像 img = transform(img) # 增加一维作为 batch 维度 img = img.unsqueeze(0) # 使用模型进行预测 with torch.no_grad(): output = model(img) # 获取预测结果 pred = torch.argmax(output, dim=1) # 打印预测结果 print(pred) ``` 在这个例子中,我们使用了一个已经训练好的 ResNet18 模型来进行图像分类。我们首先对图像进行了预处理,然后将其输入到模型中进行预测。输出的结果是一个概率分布,我们通过取最大值来得到分类结果。 需要注意的是,这个例子是使用 CPU 进行推理的,如果你对性能有更高的要求,可能需要使用 GPU 进行推理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值