安装torch2trt中遇到的报错:ModuleNotFoundError: No module named 'torch2trt.flattener'

这一个报错折腾了一整天,在这里记录一下方便他人可以快速解决问题:

首先说明一下本人的版本情况:

Linux系统

CUDA:11.8

Python:3.8

torch:2.0.0

torchvision:0.15.0

代码中报错的位置是:from torch2trt import torch2trt

报错的原因是:ModuleNotFoundError: No module named 'torch2trt.flattener'

本人解决步骤:

1.安装torchtrt:

第一步:git clone https://github.com/NVIDIA-AI-IOT/torch2trt
第二步:cd torch2trt
第三步:python setup.py install

2.将torch2trt添加到环境变量中:

第一步:pip show torch2trt  获得路径 

第二步:(1)export PYTHONPATH=$PYTHONPATH: /home/hanzz/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch2trt-0.4.0-py3.8.egg

    (2)source ~/.bashrc

第三步:这时会进入bash环境,再通过(conda activate  环境名)重新进入项目的环境即可

第四步:检查是否完成添加,命令行输入 python -c "import sys; print(sys.path)" ,如果 torch2trt 路径在显示的路径里就成功了

3.如果遇到需要安装tensorrt,命令为:pip install nvidia-tensorrt 或者是 pip install tensorrt(我是nvidia-tensorrt和tensorrt这两个都直接通过命令行安装了)

4.如果在完成以上步骤后,运行代码还是报错,建议重新打开文件和环境,再次重新运行

最后给出我的torch2trt和tensorrt的版本:

torch2trt:0.4.0

tensorrt:8.6.1.post1

nvidia-tensorrt:99.0.0

祝大家快速解决问题!!!

posted @ 2024-01-16 14:18  Stan-H  阅读(686)  评论(1)    收藏  举报