wang-xinyu / tensorrtx

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

widonws下yolov8模型生成wts转engine文件报错 #1533

Open XuJWood opened 5 months ago

XuJWood commented 5 months ago

Env

About this repo

yolov8-seg

Your problem

我从官网下载的yolov8s-seg.pt,在tensorrt项目中利用get_wts.py生成yolov8s-seg.wts,然后在项目中生成engine文件时报错。 Loading weights: ../weights/yolov8s-seg.wts [05/27/2024-11:09:22] [W] [TRT] The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible. [05/27/2024-11:09:22] [E] [TRT] 3: (Unnamed Layer 0) [Convolution]:kernel weights has count 864 but 0 was expected [05/27/2024-11:09:22] [E] [TRT] 4: (Unnamed Layer 0) [Convolution]: count of 864 weights in kernel, but kernel dimensions (3,3) with 3 input channels, 0 output channels and 1 groups were specified. Expected Weights count is 3 33 0 / 1 = 0 [05/27/2024-11:09:22] [E] [TRT] 4: [convolutionNode.cpp::nvinfer1::builder::ConvolutionNode::computeOutputExtents::58] Error Code 4: Internal Error ((Unnamed Layer 0) [Convolution]: number of kernel weights does not match tensor dimensions) [05/27/2024-11:09:22] [E] [TRT] 3: [network.cpp::nvinfer1::Network::addResize::1421] Error Code 3: API Usage Error (Parameter check failed at: network.cpp::nvinfer1::Network::addResize::1421, condition: input.getDimensions().nbDims > 0

请问是什么原因,应该如何解决呢

wang-xinyu commented 5 months ago

@lindsayshuo pls advice.

XuJWood commented 5 months ago

已经解决,是因为模型转化的时候 float gd = 0.33, gw = 0.50; int max_channels = 1024;没有修改,设置为0,所以通道不匹配,谢谢!

stale[bot] commented 2 months 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.

ranranmen commented 1 month ago

您好,我在得到yolov8n.exe文件之后转化engine模型就遇到了下面这个问题 cmd之后 D:\YOLOv8\yolov8_tensorrt-main\build\Release>yolov8.exe -s D:\YOLOv8\weights\yolov8n.wts D:\YOLOv8\weights\yolov8n.engine s Load engine file failed: D:/YOLOv8/yolov8_tensorrt-main/weights/yolov8n.engine 很纳闷,我的环境是 cuda12.0 gtx050 TensorRT-8.6.1.6 opencv4.8.0(编译过支持cuda加速的),我现在思考是不是因为,我安装了cuda之后再装的visual studio导致的(针对这个编译前我已经把cuda相关文件复制到vs里面了),但您上面说的转化模型修改参数,我没有做过更改,直接默认的