wang-xinyu / tensorrtx

Implementation of popular deep learning networks with TensorRT network definition API
MIT License
6.89k stars 1.76k forks source link

yolov5模型压缩以后,从yolov5x.wts生成engine文件时报错, #361

Closed a-beginner-debug closed 3 years ago

a-beginner-debug commented 3 years ago

[01/16/2021-14:41:46] [E] [TRT] Parameter check failed at: ../builder/Network.cpp::addScale::434, condition: shift.count > 0 ? (shift.values != nullptr) : (shift.values == nullptr) yolov5: /home/xd/zkwei/TRT/trt/common.hpp:189: nvinfer1::IScaleLayer addBatchNorm2d(nvinfer1::INetworkDefinition, std::map<std::__cxx11::basic_string, nvinfer1::Weights>&, nvinfer1::ITensor&, std::__cxx11::string, float): Assertion `scale_1' failed. Aborted (core dumped)

在进行模型压缩以后,转tensorrt出现这个问题,压缩以后的模型可以正常运行,运行结果也合适,也能成功转成.wts文件,但是在生成.engine文件时,报错。未压缩的模型可以成功转成.engine,

wang-xinyu commented 3 years ago

压缩之后模型结构变了。tensorrtx这边需要对应修改。 建议先看懂tensorrtx的代码。

Gunther2689 commented 3 years ago

请问题主解决了么

Gunther2689 commented 3 years ago

有推荐的学习资料么

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

mvpzhangqiu commented 2 years ago

[01/16/2021-14:41:46] [E] [TRT] Parameter check failed at: ../builder/Network.cpp::addScale::434, condition: shift.count > 0 ? (shift.values != nullptr) : (shift.values == nullptr) yolov5: /home/xd/zkwei/TRT/trt/common.hpp:189: nvinfer1::IScaleLayer addBatchNorm2d(nvinfer1::INetworkDefinition, std::map<std::__cxx11::basic_string, nvinfer1::Weights>&, nvinfer1::ITensor&, std::__cxx11::string, float): Assertion `scale_1' failed. Aborted (core dumped)

在进行模型压缩以后,转tensorrt出现这个问题,压缩以后的模型可以正常运行,运行结果也合适,也能成功转成.wts文件,但是在生成.engine文件时,报错。未压缩的模型可以成功转成.engine,

请问解决了吗?

mvpzhangqiu commented 2 years ago

压缩之后模型结构变了。tensorrtx这边需要对应修改。 建议先看懂tensorrtx的代码。

我用pytorch自带的prune剪枝,属于非结构剪枝。剪枝后模型转engine也出现这个问题。