I’m porting CenterNet https://github.com/xingyizhou/CenterNet to TensorRT. Im using C++ API and implementing plugin for deformable convolution layer.
On last layer I’ve got
../builder/cudnnBuilderGraph.cpp (660) - Assertion Error in checkSanity: 0 (tensors.size() == g.tensors.size())
I thought that it might be shape mismatch, but on defining network it doesn’t assert, only on engine building.
This error shows up on conv_offset_mask. TensorRT merges two layers, but they have different weights though have same shapes. In PyTorch it corresponds to this layer https://github.com/xingyizhou/CenterNet/blob/master/src/lib/models/networks/pose_dla_dcn.py#L477
Can I send project so you can check what is wrong? (I can’t publicly publish code)
Graphical cards on which was tested:
- GeForce 1050Ti (Ubuntu 16.04, CUDA 10.1, TensorRT 220.127.116.11)
- Tesla K80 (CentOS7, CUDA 10.1, TensorRT 18.104.22.168)
- Tesla P100 (Ubuntu 16.04, CUDA 10.0, TensorRT 22.214.171.124)
Here is log - https://gist.github.com/blacksailer/ba795610cedca5747271da6698b7b994
This line shows that two layers are merged, but they have diffrent parameters - https://gist.github.com/blacksailer/ba795610cedca5747271da6698b7b994#file-tensorrt-log-L102