TensorRT Model Optimizer is a unified library of state-of-the-art model optimization techniques such as quantization, pruning, distillation, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM or TensorRT to optimize inference speed on NVIDIA GPUs.
I'm conducting a simple test to check the performance of a quantized model, but I'm encountering an error after quantization. Could someone guide me on how to resolve this issue?
[E] Error[10]: [optimizer.cpp::computeCosts::3869] Error Code 10: Internal Error (Could not find any implementation for node model.10.attn.pe.conv.weight + model.10.attn.pe.conv.weight_QuantizeLinear + /model.10/attn/pe/conv/Conv + /model.10/attn/Add.)
INFO:root:Model yolov10b.onnx with opset_version 13 is loaded.
INFO:root:Model is cloned to yolov10b_named.onnx after naming the nodes.
INFO:root:Quantization Mode: int8
INFO:root:Quantizable op types in the model: ['Add', 'Mul', 'MaxPool', 'MatMul', 'Conv']
INFO:root:Building non-residual Add input map ...
INFO:root:Searching for hard-coded patterns like MHA, LayerNorm, etc. to avoid quantization.
INFO:root:Building KGEN/CASK targeted partitions ...
INFO:root:Classifying the partition nodes ...
INFO:root:Total number of nodes: 442
INFO:root:Skipped node count: 0
WARNING:root:Please consider to run pre-processing before quantization. Refer to example: https://github.com/microsoft/onnxruntime-inference-examples/blob/main/quantization/image_classification/cpu/ReadMe.md
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 178.77it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 176.04it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 180.80it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 176.66it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 178.37it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 176.82it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 181.16it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 176.46it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 181.76it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 175.95it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 180.93it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 178.88it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 179.03it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 173.99it/s]
Collecting tensor data and making histogram ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 406/406 [00:02<00:00, 180.65it/s]
Finding optimal threshold for each tensor using 'entropy' algorithm ...
Number of tensors : 406
Number of histogram bins : 128 (The number may increase depends on the data it collects)
Number of quantized bins : 128
WARNING:root:Please consider pre-processing before quantization. See https://github.com/microsoft/onnxruntime-inference-examples/blob/main/quantization/image_classification/cpu/ReadMe.md
INFO:root:Deleting QDQ nodes from marked inputs to make certain operations fusible ...
INFO:root:Quantized onnx model is saved as yolov10b-trt-calib.onnx
INFO:root:Total number of quantized nodes: 155
INFO:root:Quantized node types: {'Add', 'MaxPool', 'Reshape', 'MatMul', 'Concat', 'Conv'}
[08/02/2024-14:21:11] [I] [TRT] Global timing cache in use. Profiling results in this builder pass will be stored.
[08/02/2024-14:23:01] [E] Error[10]: Could not find any implementation for node model.10.attn.pe.conv.weight + model.10.attn.pe.conv.weight_QuantizeLinear + /model.10/attn/pe/conv/Conv + /model.10/attn/Add.
[08/02/2024-14:23:01] [E] Error[10]: [optimizer.cpp::computeCosts::3869] Error Code 10: Internal Error (Could not find any implementation for node model.10.attn.pe.conv.weight + model.10.attn.pe.conv.weight_QuantizeLinear + /model.10/attn/pe/conv/Conv + /model.10/attn/Add.)
[08/02/2024-14:23:01] [E] Engine could not be created from network
[08/02/2024-14:23:01] [E] Building engine failed
[08/02/2024-14:23:01] [E] Failed to create engine from model or file.
[08/02/2024-14:23:01] [E] Engine set up failed
I'm conducting a simple test to check the performance of a quantized model, but I'm encountering an error after quantization. Could someone guide me on how to resolve this issue?
Download model
yolov10b.onnx
from https://github.com/THU-MIG/yolov10/releases/tag/v1.1TRT Version:
TensorRT v8601
Error: