当前位置:   article > 正文

学习笔记----Tensor介绍 & 推理(python) & pycuda & tensorrt安装_pycuda tensorrt

pycuda tensorrt

Tensorrt介绍及推理代码示例

Tensorrt介绍
Tensorrt介绍2
tensorrt推理 onxx转engine代码(python)

前言

pycuda和tensorrt的安装并无太大难处,一般采用pip install pycuda/tensorrt==version的方式即可,主要是和cuda版本需要对应

pycuda安装

pycuda的安裝注意需要和当前cuda&python版本相对应
否则会出现如下报错1:

ERROR: Failed building wheel for pycuda
Failed to build pycuda
ERROR: Could not build wheels for pycuda, which is required to install pyproject.toml-based projects

  • 1
  • 2
  • 3
  • 4

截图如下
在这里插入图片描述
相关对应版本见下图,官网链接
在这里插入图片描述
解决办法 & 安装方法
这里可通过官网下载安装,也可以直接pip安装

pip install pycuda==version
  • 1

而后出现如下报错2:

src/cpp/cuda.hpp:14:18: fatal error: cuda.h: No such file or directory
  • 1
export CPATH=$CPATH:/usr/local/cuda/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-11.3/targets/x86_64-linux/lib/   (cuda版本为当前环境版本)
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
  • 1
  • 2
  • 3

tensorrt安装

tensorrt的安装需要注意以下两点:
1.和当前cuda版本相对应
2.一般需要与onnx转trt模型所应用的tensorrt版本相对应

常见错误

常见在执行 context = engine.create_execution_context() 会出现如下错误

AttributeError: ‘NoneType’ object has no attribute ‘create_execution_context’
  • 1

解决办法 & 安装方法
这里便是版本关系不对应所产生的错误,使得导入trt模型时,engine的类型会为None
而正确的类型应该为 tensorrt.tensorrt.ICudaEngine

engine_file_path = r'/home/model.trt'
with open(engine_file_path, 'rb') as f:
    engine_data = f.read()
engine = runtime.deserialize_cuda_engine(engine_data)
print(engine)
  • 1
  • 2
  • 3
  • 4
  • 5

解决办法参考链接

版本对应关系见官网链接
对应关系如图中所示
在这里插入图片描述官网直接下载并安装的方式可参考如下两个链接:链接1 & 链接2

该方式有些麻烦,本人也比较懒,直接采用了pip的方式,也可安装成功(用的清华源)

pip install tensorrt==8.5.3.1
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/946986
推荐阅读
相关标签
  

闽ICP备14008679号