GithubHelp home page GithubHelp logo

grimoire / amirstan_plugin Goto Github PK

View Code? Open in Web Editor NEW
153.0 153.0 37.0 423 KB

Useful tensorrt plugin. For pytorch and mmdetection model conversion.

License: MIT License

CMake 4.00% C++ 59.07% C 0.41% Cuda 36.05% Python 0.47%
tensorrt

amirstan_plugin's People

Contributors

daavoo avatar grimoire avatar mmeendez8 avatar sbugallo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

amirstan_plugin's Issues

cuda 10.2 cublas error

cuda 10.2 OSError: /xhzy/amirstan_plugin/build/lib/libamirstan_plugin.so: undefined symbol: cublasCreate_v2

cuda错误!!!!!

CMake Error at CMakeLists.txt:103 (if):
if given arguments:

"CUDA_VERSION" "VERSION_GREATER_EQUAL" "10.0"

Unknown arguments specified

-- Configuring incomplete, errors occurred!

About ModulatedDeformConv2dPack when batchsize>1

Thanks for your good job!
When converting my backbone resnet101 into trt using mmdet2trt, batchsize=1 is ok. But when batchsize >1, I find only the first images of each batch can output correct result. After longtime to locate problem, I find that the layer of DCNV2(ModulatedDeformConv2dPack) results in error. That is the results is all correct after I delete DCNv2 in config. So, could you help me. Thank you!

Hello. Thx for your works. I have problem with build cmake

This is my cmake build.

my environment

cuda 11.1 / tensorrt 8.0.1.6 / python3.8 / pycharm community (development tool)

my bashrc is this

`export QT_QPA_PLATFORM_PLUGIN_PATH=/home/User/PycharmProjects/newtst/venv/lib/python3.8/site-packages/cv2/qt/plugins

export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin:$HOME/installed/go/bin

export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDADIR=/usr/local/cuda-11.1
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64:/usr/local/cuda/extras/CUPTI/lib64:/home/USER/Downloads/TensorRT-8.0.1.6/lib"
export CUDA_HOME=/usr/local/cuda
export CUDNN_LIB=/usr/local/cuda/lib64

export PYTHONPATH=/usr/local/lib/python3.8/dist-packages:$PYTHONPATH`

Cuda and tensorrt looks fair right?

(venv)USER@MLServer:~/PycharmProjects/toymmd/mmdetection/amirstan_plugin/build$ cmake -DTENSORRT_DIR=/home/USER/Downloads/TensorRT-8.0.1.6 .. -- The C compiler identification is GNU 9.4.0 -- The CXX compiler identification is GNU 9.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found CUDA: /usr/local/cuda-11.1 (found version "11.1") -- Found TensorRT headers at /home/USER/Downloads/TensorRT-8.0.1.6/include -- Find TensorRT libs at /home/USER/Downloads/TensorRT-8.0.1.6/lib/libnvinfer.so;/home/USER/Downloads/TensorRT-8.0.1.6/lib/libnvparsers.so;/home/USER/Downloads/TensorRT-8.0.1.6/lib/libnvinfer_plugin.so -- Found TENSORRT: /home/USER/Downloads/TensorRT-8.0.1.6/include -- WITH_DEEPSTREAM: false -- GPU_ARCHS is not defined. Generating CUDA code for default SMs: 61;70;75;80 -- The CUDA compiler identification is NVIDIA 11.1.105 -- Detecting CUDA compiler ABI info -- Detecting CUDA compiler ABI info - done -- Check for working CUDA compiler: /usr/local/cuda-11.1/bin/nvcc - skipped -- Detecting CUDA compile features -- Detecting CUDA compile features - done -- Configuring done -- Generating done -- Build files have been written to: /home/USER/PycharmProjects/toymmd/mmdetection/amirstan_plugin/build

But when i type comand make -j10 there would be Error message like this

/usr/local/cuda/include/cuda_runtime_api.h:13017:45: error: expected initializer before ‘cudaGetFuncBySymbol’ 13017 | extern __host__ cudaError_t CUDARTAPI_CDECL cudaGetFuncBySymbol(cudaFunction_t* functionPtr, const void* symbolPtr);

can you give me answer please?

I'm have been working Environment setting 4 days.. If you give me reply i would be very appreciate.
thank you again.

error occurred when I make -j10

hello, now I want to use cuda10.2 TensorRT7.0, and I get a lot of conflicts and error message when I make file:

I changed the CMakeLists.txt as following, I changed cuda include dirs and set tensorrt path dir:

cmake_minimum_required (VERSION 2.8.11)
project (trt_plugin)


# include_directories(/usr/local/cuda-10.2/targets/x86_64-linux/include)
# link_directories(/usr/local/cuda-10.2/targets/x86_64-linux/lib)

# cuda
FIND_PACKAGE(CUDA REQUIRED)
if(NOT CMAKE_CUDA_DEVICE_LINK_LIBRARY)
  set(CMAKE_CUDA_DEVICE_LINK_LIBRARY
    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <LANGUAGE_COMPILE_FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
endif()
if(NOT CMAKE_CUDA_DEVICE_LINK_EXECUTABLE)
  set(CMAKE_CUDA_DEVICE_LINK_EXECUTABLE
    "<CMAKE_CUDA_COMPILER> ${CMAKE_CUDA_HOST_FLAGS} <FLAGS> ${CMAKE_CUDA_COMPILE_OPTIONS_PIC} ${_CMAKE_CUDA_EXTRA_DEVICE_LINK_FLAGS} -shared -dlink <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICT_DLINK_FLAGS}")
endif()
# INCLUDE_DIRECTORIES(/usr/local/cuda/include)
INCLUDE_DIRECTORIES(/usr/local/cuda-10.2/targets/x86_64-linux/lib)

# cub
if (NOT DEFINED CUB_ROOT_DIR)
  set(CUB_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/cub")
endif()
INCLUDE_DIRECTORIES(${CUB_ROOT_DIR})

# tensorrt
if (NOT DEFINED TENSORRT_DIR)
  set(TENSORRT_DIR "$ENV{HOME}/SDK/TensorRT-7.0.0.11")
endif()
find_path(TENSORRT_INCLUDE_DIR NvInfer.h
        HINTS ${TENSORRT_DIR} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES include)
MESSAGE(STATUS "Found TensorRT headers at ${TENSORRT_INCLUDE_DIR}")
find_library(TENSORRT_LIBRARY_INFER nvinfer
        HINTS ${TENSORRT_DIR} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_PARSERS nvparsers
        HINTS ${TENSORRT_DIR} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_INFER_PLUGIN nvinfer_plugin
        HINTS  ${TENSORRT_DIR} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
set(TENSORRT_LIBRARY ${TENSORRT_LIBRARY_INFER} 
                     ${TENSORRT_LIBRARY_PARSERS} 
                     ${TENSORRT_LIBRARY_INFER_PLUGIN} 
                     )
MESSAGE(STATUS "Find TensorRT libs at ${TENSORRT_LIBRARY}")
find_package_handle_standard_args(
        TENSORRT DEFAULT_MSG TENSORRT_INCLUDE_DIR TENSORRT_LIBRARY)
if(NOT TENSORRT_FOUND)
    message(ERROR
            "Cannot find TensorRT library.")
endif()
INCLUDE_DIRECTORIES(${TENSORRT_INCLUDE_DIR})

# DeepStream
if (NOT DEFINED WITH_DEEPSTREAM)
    set(WITH_DEEPSTREAM false)
endif ()
MESSAGE(STATUS "WITH_DEEPSTREAM: ${WITH_DEEPSTREAM}")

if (WITH_DEEPSTREAM)
    if (NOT DEFINED DeepStream_DIR)
        set(DeepStream_DIR /opt/nvidia/deepstream/deepstream-5.0)
    endif ()
    if (DEFINED DeepStream_DIR)
        include_directories("${DeepStream_DIR}/sources/includes")
    endif (DEFINED DeepStream_DIR)
endif()

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)

add_definitions(-std=c++11)
add_definitions(-fPIC)
if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release)
endif()

set(CMAKE_CXX_FLAGS "-Wall -Wextra")
# set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
# set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fopenmp")

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)


add_subdirectory (src)

I use cmake -DTENSORRT_DIR=/home/sycv/workplace/pengyuzhou/TensorRT-7.0.0.11 .. generate makefiles.

then I use make -j10, it occurred a number of errors as following:

 void ModulatedDeformableConvPluginDynamic::setGroup(int group) {
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::setGroup(int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:135:3: error: ‘mGroup’ was not declared in this scope
   mGroup = group;
   ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:135:3: note: suggested alternative: ‘group’
   mGroup = group;
   ^~~~~~
   group
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:138:5: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 int ModulatedDeformableConvPluginDynamic::getGroup() { return mGroup; }
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘int nvinfer1::getGroup()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:138:63: error: ‘mGroup’ was not declared in this scope
 int ModulatedDeformableConvPluginDynamic::getGroup() { return mGroup; }
                                                               ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:138:63: note: suggested alternative: ‘strdup’
 int ModulatedDeformableConvPluginDynamic::getGroup() { return mGroup; }
                                                               ^~~~~~
                                                               strdup
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:140:11: error: ‘IPluginV2DynamicExt’ in namespace ‘nvinfer1’ does not name a type
 nvinfer1::IPluginV2DynamicExt *ModulatedDeformableConvPluginDynamic::clone()
           ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:162:11: error: ‘DimsExprs’ in namespace ‘nvinfer1’ does not name a type
 nvinfer1::DimsExprs ModulatedDeformableConvPluginDynamic::getOutputDimensions(
           ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:182:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 bool ModulatedDeformableConvPluginDynamic::supportsFormatCombination(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘bool nvinfer1::supportsFormatCombination(int, const nvinfer1::PluginTensorDesc*, int, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:184:9: warning: unused parameter ‘nbOutputs’ [-Wunused-parameter]
     int nbOutputs) {
         ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:204:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 void ModulatedDeformableConvPluginDynamic::configurePlugin(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:205:21: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::DynamicPluginTensorDesc *inputs, int nbInputs,
                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:206:21: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::DynamicPluginTensorDesc *outputs, int nbOutputs) {
                     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/serialize.hpp:18,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:11:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::configurePlugin(const int*, int, const int*, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:210:10: error: ‘mType’ was not declared in this scope
   assert(mType == inputs[0].desc.type);
          ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:210:29: error: request for member ‘desc’ in ‘* inputs’, which is of non-class type ‘const int’
   assert(mType == inputs[0].desc.type);
                             ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:206:46: warning: unused parameter ‘outputs’ [-Wunused-parameter]
     const nvinfer1::DynamicPluginTensorDesc *outputs, int nbOutputs) {
                                              ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:214:8: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 size_t ModulatedDeformableConvPluginDynamic::getWorkspaceSize(
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:216:63: error: non-member function ‘size_t nvinfer1::getWorkspaceSize(const nvinfer1::PluginTensorDesc*, int, const nvinfer1::PluginTensorDesc*, int)’ cannot have cv-qualifier
     const nvinfer1::PluginTensorDesc *outputs, int nbOutputs) const {
                                                               ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘size_t nvinfer1::getWorkspaceSize(const nvinfer1::PluginTensorDesc*, int, const nvinfer1::PluginTensorDesc*, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:218:52: error: ‘mType’ was not declared in this scope
   int sizeof_dtype = samplesCommon::getElementSize(mType);
                                                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:229:12: error: ‘mKernelSize’ was not declared in this scope
   int kW = mKernelSize.d[0];
            ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:222:7: warning: unused variable ‘inputHeight’ [-Wunused-variable]
   int inputHeight = inputs[0].dims.d[2];
       ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:223:7: warning: unused variable ‘inputWidth’ [-Wunused-variable]
   int inputWidth = inputs[0].dims.d[3];
       ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:225:7: warning: unused variable ‘nOutputPlane’ [-Wunused-variable]
   int nOutputPlane = outputs[0].dims.d[1];
       ^~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:231:7: warning: unused variable ‘im2col_step’ [-Wunused-variable]
   int im2col_step = std::min(int(batch_size), 64);
       ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:215:51: warning: unused parameter ‘nbInputs’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc *inputs, int nbInputs,
                                                   ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:216:52: warning: unused parameter ‘nbOutputs’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc *outputs, int nbOutputs) const {
                                                    ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:239:5: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 int ModulatedDeformableConvPluginDynamic::enqueue(
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘int nvinfer1::enqueue(const nvinfer1::PluginTensorDesc*, const nvinfer1::PluginTensorDesc*, const void* const*, void* const*, void*, cudaStream_t)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:244:7: error: ‘m_cuda_stream’ was not declared in this scope
   if (m_cuda_stream != stream) {
       ^~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:244:7: note: suggested alternative: ‘cudaStream_t’
   if (m_cuda_stream != stream) {
       ^~~~~~~~~~~~~
       cudaStream_t
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:245:21: error: ‘m_cublas_handle’ was not declared in this scope
     cublasSetStream(m_cublas_handle, stream);
                     ^~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:245:21: note: suggested alternative: ‘cublasHandle_t’
     cublasSetStream(m_cublas_handle, stream);
                     ^~~~~~~~~~~~~~~
                     cublasHandle_t
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:257:30: error: ‘m_cublas_handle’ was not declared in this scope
   dcn_params.cublas_handle = m_cublas_handle;
                              ^~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:257:30: note: suggested alternative: ‘cublasHandle_t’
   dcn_params.cublas_handle = m_cublas_handle;
                              ^~~~~~~~~~~~~~~
                              cublasHandle_t
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:262:30: error: ‘mOutDim’ was not declared in this scope
   dcn_params.outputChannel = mOutDim;
                              ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:263:24: error: ‘mKernelSize’ was not declared in this scope
   dcn_params.kernelW = mKernelSize.d[0];
                        ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:265:24: error: ‘mStride’ was not declared in this scope
   dcn_params.strideW = mStride.d[0];
                        ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:265:24: note: suggested alternative: ‘mktime’
   dcn_params.strideW = mStride.d[0];
                        ^~~~~~~
                        mktime
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:267:21: error: ‘mPadding’ was not declared in this scope
   dcn_params.padW = mPadding.d[0];
                     ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:269:26: error: ‘mDilation’ was not declared in this scope
   dcn_params.dilationW = mDilation.d[0];
                          ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:271:22: error: ‘mGroup’ was not declared in this scope
   dcn_params.group = mGroup;
                      ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:271:22: note: suggested alternative: ‘strdup’
   dcn_params.group = mGroup;
                      ^~~~~~
                      strdup
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:272:33: error: ‘mDeformableGroup’ was not declared in this scope
   dcn_params.deformable_group = mDeformableGroup;
                                 ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:276:36: error: ‘mWdev’ was not declared in this scope
       (float *)inputs[0], (float *)mWdev, (float *)mBdev, (float *)inputs[1],
                                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:276:52: error: ‘mBdev’ was not declared in this scope
       (float *)inputs[0], (float *)mWdev, (float *)mBdev, (float *)inputs[1],
                                                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:248:20: warning: unused variable ‘im2col_step’ [-Wunused-variable]
   const static int im2col_step = 64;
                    ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:241:39: warning: unused parameter ‘outputDesc’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc *outputDesc, const void *const *inputs,
                                       ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:283:20: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 nvinfer1::DataType ModulatedDeformableConvPluginDynamic::getOutputDataType(
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:284:68: error: non-member function ‘nvinfer1::DataType nvinfer1::getOutputDataType(int, const nvinfer1::DataType*, int)’ cannot have cv-qualifier
     int index, const nvinfer1::DataType *inputTypes, int nbInputs) const {
                                                                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘nvinfer1::DataType nvinfer1::getOutputDataType(int, const nvinfer1::DataType*, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:284:9: warning: unused parameter ‘index’ [-Wunused-parameter]
     int index, const nvinfer1::DataType *inputTypes, int nbInputs) const {
         ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:290:13: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 const char *ModulatedDeformableConvPluginDynamic::getPluginType() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:290:67: error: non-member function ‘const char* nvinfer1::getPluginType()’ cannot have cv-qualifier
 const char *ModulatedDeformableConvPluginDynamic::getPluginType() const {
                                                                   ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginType()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:291:10: error: ‘DCN_NAME’ was not declared in this scope
   return DCN_NAME;
          ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:291:10: note: suggested alternatives:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:18:20: note:   ‘amirstan::plugin::{anonymous}::DCN_NAME’
 static const char *DCN_NAME{"ModulatedDeformableConvPluginDynamic"};
                    ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:18:20: note:   ‘amirstan::plugin::{anonymous}::DCN_NAME’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:294:13: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 const char *ModulatedDeformableConvPluginDynamic::getPluginVersion() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:294:70: error: non-member function ‘const char* nvinfer1::getPluginVersion()’ cannot have cv-qualifier
 const char *ModulatedDeformableConvPluginDynamic::getPluginVersion() const {
                                                                      ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginVersion()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:295:10: error: ‘DCN_VERSION’ was not declared in this scope
   return DCN_VERSION;
          ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:295:10: note: suggested alternatives:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:17:20: note:   ‘amirstan::plugin::{anonymous}::DCN_VERSION’
 static const char *DCN_VERSION{"1"};
                    ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:17:20: note:   ‘amirstan::plugin::{anonymous}::DCN_VERSION’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:298:5: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 int ModulatedDeformableConvPluginDynamic::getNbOutputs() const { return 1; }
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:298:58: error: non-member function ‘int nvinfer1::getNbOutputs()’ cannot have cv-qualifier
 int ModulatedDeformableConvPluginDynamic::getNbOutputs() const { return 1; }
                                                          ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:300:5: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 int ModulatedDeformableConvPluginDynamic::initialize() {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘int nvinfer1::initialize()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:301:17: error: ‘m_cublas_handle’ was not declared in this scope
   cublasCreate(&m_cublas_handle);
                 ^~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:301:17: note: suggested alternative: ‘cublasHandle_t’
   cublasCreate(&m_cublas_handle);
                 ^~~~~~~~~~~~~~~
                 cublasHandle_t
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:302:7: error: ‘mW’ was not declared in this scope
   if (mW.values && mWdev == nullptr) {
       ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:302:20: error: ‘mWdev’ was not declared in this scope
   if (mW.values && mWdev == nullptr) {
                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:304:53: error: ‘mType’ was not declared in this scope
     size_t wordSize = samplesCommon::getElementSize(mType);
                                                     ^~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:12: error: ‘cerr’ is not a member of ‘std’
       std::cerr << "Cuda failure: " << ret << std::endl; \
            ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:306:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mWdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:12: note: suggested alternative: ‘errc’
       std::cerr << "Cuda failure: " << ret << std::endl; \
            ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:306:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mWdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:52: error: ‘endl’ is not a member of ‘std’
       std::cerr << "Cuda failure: " << ret << std::endl; \
                                                    ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:306:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mWdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:52: note: suggested alternative: ‘end’
       std::cerr << "Cuda failure: " << ret << std::endl; \
                                                    ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:306:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mWdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:309:7: error: ‘convertAndCopyToDevice’ was not declared in this scope
       convertAndCopyToDevice(mW, reinterpret_cast<float *>(mWdev));
       ^~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:309:7: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:22:13: note:   ‘nvinfer1::convertAndCopyToDevice’
 inline void convertAndCopyToDevice(const nvinfer1::Weights &src,
             ^~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:315:7: error: ‘mB’ was not declared in this scope
   if (mB.values && mBdev == nullptr) {
       ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:315:20: error: ‘mBdev’ was not declared in this scope
   if (mB.values && mBdev == nullptr) {
                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:317:53: error: ‘mType’ was not declared in this scope
     size_t wordSize = samplesCommon::getElementSize(mType);
                                                     ^~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:12: error: ‘cerr’ is not a member of ‘std’
       std::cerr << "Cuda failure: " << ret << std::endl; \
            ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:319:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mBdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:12: note: suggested alternative: ‘errc’
       std::cerr << "Cuda failure: " << ret << std::endl; \
            ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:319:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mBdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:52: error: ‘endl’ is not a member of ‘std’
       std::cerr << "Cuda failure: " << ret << std::endl; \
                                                    ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:319:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mBdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:73:52: note: suggested alternative: ‘end’
       std::cerr << "Cuda failure: " << ret << std::endl; \
                                                    ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:319:5: note: in expansion of macro ‘CHECK’
     CHECK(cudaMalloc((void **)&mBdev, nbBytes));
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:322:7: error: ‘convertAndCopyToDevice’ was not declared in this scope
       convertAndCopyToDevice(mB, reinterpret_cast<float *>(mBdev));
       ^~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:322:7: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:22:13: note:   ‘nvinfer1::convertAndCopyToDevice’
 inline void convertAndCopyToDevice(const nvinfer1::Weights &src,
             ^~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:331:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 void ModulatedDeformableConvPluginDynamic::terminate() {
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::terminate()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:332:15: error: no match for ‘operator<<’ (operand types are ‘LogStreamConsumer’ and ‘const char [27]’)
   gLogVerbose << "DCN Plugin terminate start" << std::endl;
   ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note: candidate: std::ostream& nvinfer1::operator<<(std::ostream&, const nvinfer1::Dims&)
 inline std::ostream& operator<<(std::ostream& os, const nvinfer1::Dims& dims) {
                      ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note:   no known conversion for argument 1 from ‘LogStreamConsumer’ to ‘std::ostream& {aka std::basic_ostream<char>&}’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:332:55: error: ‘endl’ is not a member of ‘std’
   gLogVerbose << "DCN Plugin terminate start" << std::endl;
                                                       ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:332:55: note: suggested alternative: ‘end’
   gLogVerbose << "DCN Plugin terminate start" << std::endl;
                                                       ^~~~
                                                       end
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:334:7: error: ‘mWdev’ was not declared in this scope
   if (mWdev != nullptr) {
       ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:338:7: error: ‘mBdev’ was not declared in this scope
   if (mBdev != nullptr) {
       ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:342:17: error: ‘m_cublas_handle’ was not declared in this scope
   cublasDestroy(m_cublas_handle);
                 ^~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:342:17: note: suggested alternative: ‘cublasHandle_t’
   cublasDestroy(m_cublas_handle);
                 ^~~~~~~~~~~~~~~
                 cublasHandle_t
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:344:15: error: no match for ‘operator<<’ (operand types are ‘LogStreamConsumer’ and ‘const char [26]’)
   gLogVerbose << "DCN Plugin terminate done" << std::endl;
   ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note: candidate: std::ostream& nvinfer1::operator<<(std::ostream&, const nvinfer1::Dims&)
 inline std::ostream& operator<<(std::ostream& os, const nvinfer1::Dims& dims) {
                      ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note:   no known conversion for argument 1 from ‘LogStreamConsumer’ to ‘std::ostream& {aka std::basic_ostream<char>&}’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:344:54: error: ‘endl’ is not a member of ‘std’
   gLogVerbose << "DCN Plugin terminate done" << std::endl;
                                                      ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:344:54: note: suggested alternative: ‘end’
   gLogVerbose << "DCN Plugin terminate done" << std::endl;
                                                      ^~~~
                                                      end
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:347:8: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 size_t ModulatedDeformableConvPluginDynamic::getSerializationSize() const {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:347:69: error: non-member function ‘size_t nvinfer1::getSerializationSize()’ cannot have cv-qualifier
 size_t ModulatedDeformableConvPluginDynamic::getSerializationSize() const {
                                                                     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘size_t nvinfer1::getSerializationSize()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:348:51: error: ‘mType’ was not declared in this scope
   size_t wordSize = samplesCommon::getElementSize(mType);
                                                   ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:349:21: error: ‘mNumParamsW’ was not declared in this scope
   return wordSize * mNumParamsW + wordSize * mNumParamsB + sizeof(mType) +
                     ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:349:46: error: ‘mNumParamsB’ was not declared in this scope
   return wordSize * mNumParamsW + wordSize * mNumParamsB + sizeof(mType) +
                                              ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:350:17: error: ‘mOutDim’ was not declared in this scope
          sizeof(mOutDim) + sizeof(mKernelSize) + sizeof(mNumParamsW) +
                 ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:350:35: error: ‘mKernelSize’ was not declared in this scope
          sizeof(mOutDim) + sizeof(mKernelSize) + sizeof(mNumParamsW) +
                                   ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:351:39: error: ‘mStride’ was not declared in this scope
          sizeof(mNumParamsB) + sizeof(mStride) + sizeof(mPadding) +
                                       ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:351:39: note: suggested alternative: ‘mktime’
          sizeof(mNumParamsB) + sizeof(mStride) + sizeof(mPadding) +
                                       ^~~~~~~
                                       mktime
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:351:57: error: ‘mPadding’ was not declared in this scope
          sizeof(mNumParamsB) + sizeof(mStride) + sizeof(mPadding) +
                                                         ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:352:17: error: ‘mDilation’ was not declared in this scope
          sizeof(mDilation) + sizeof(mDeformableGroup) + sizeof(mGroup);
                 ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:352:37: error: ‘mDeformableGroup’ was not declared in this scope
          sizeof(mDilation) + sizeof(mDeformableGroup) + sizeof(mGroup);
                                     ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:352:64: error: ‘mGroup’ was not declared in this scope
          sizeof(mDilation) + sizeof(mDeformableGroup) + sizeof(mGroup);
                                                                ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:352:64: note: suggested alternative: ‘strdup’
          sizeof(mDilation) + sizeof(mDeformableGroup) + sizeof(mGroup);
                                                                ^~~~~~
                                                                strdup
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:355:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 void ModulatedDeformableConvPluginDynamic::serialize(void *buffer) const {
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:355:68: error: non-member function ‘void nvinfer1::serialize(void*)’ cannot have cv-qualifier
 void ModulatedDeformableConvPluginDynamic::serialize(void *buffer) const {
                                                                    ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::serialize(void*)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:356:28: error: ‘mType’ was not declared in this scope
   serialize_value(&buffer, mType);
                            ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:357:28: error: ‘mOutDim’ was not declared in this scope
   serialize_value(&buffer, mOutDim);
                            ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:358:28: error: ‘mKernelSize’ was not declared in this scope
   serialize_value(&buffer, mKernelSize);
                            ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:359:28: error: ‘mNumParamsW’ was not declared in this scope
   serialize_value(&buffer, mNumParamsW);
                            ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:360:28: error: ‘mNumParamsB’ was not declared in this scope
   serialize_value(&buffer, mNumParamsB);
                            ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:362:28: error: ‘mStride’ was not declared in this scope
   serialize_value(&buffer, mStride);
                            ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:362:28: note: suggested alternative: ‘mktime’
   serialize_value(&buffer, mStride);
                            ^~~~~~~
                            mktime
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:363:28: error: ‘mPadding’ was not declared in this scope
   serialize_value(&buffer, mPadding);
                            ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:364:28: error: ‘mDilation’ was not declared in this scope
   serialize_value(&buffer, mDilation);
                            ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:365:28: error: ‘mDeformableGroup’ was not declared in this scope
   serialize_value(&buffer, mDeformableGroup);
                            ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:366:28: error: ‘mGroup’ was not declared in this scope
   serialize_value(&buffer, mGroup);
                            ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:366:28: note: suggested alternative: ‘strdup’
   serialize_value(&buffer, mGroup);
                            ^~~~~~
                            strdup
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:370:18: error: ‘mW’ was not declared in this scope
   serFromHost(d, mW.values, mNumParamsW * wordSize);
                  ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:370:3: error: ‘serFromHost’ was not declared in this scope
   serFromHost(d, mW.values, mNumParamsW * wordSize);
   ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:370:3: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:72:13: note:   ‘nvinfer1::serFromHost’
 inline void serFromHost(char *&buffer, const T *data, size_t nbElem) {
             ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:371:18: error: ‘mB’ was not declared in this scope
   serFromHost(d, mB.values, mNumParamsB * wordSize);
                  ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:374:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 void ModulatedDeformableConvPluginDynamic::destroy() {
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::destroy()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:376:10: error: invalid use of ‘this’ in non-member function
   delete this;
          ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:379:6: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 void ModulatedDeformableConvPluginDynamic::setPluginNamespace(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::setPluginNamespace(const char*)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:381:3: error: ‘mNamespace’ was not declared in this scope
   mNamespace = libNamespace;
   ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:381:3: note: suggested alternative: ‘libNamespace’
   mNamespace = libNamespace;
   ^~~~~~~~~~
   libNamespace
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:384:13: error: ‘ModulatedDeformableConvPluginDynamic’ has not been declared
 const char *ModulatedDeformableConvPluginDynamic::getPluginNamespace() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:384:72: error: non-member function ‘const char* nvinfer1::getPluginNamespace()’ cannot have cv-qualifier
 const char *ModulatedDeformableConvPluginDynamic::getPluginNamespace() const {
                                                                        ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginNamespace()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:385:10: error: ‘mNamespace’ was not declared in this scope
   return mNamespace.c_str();
          ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:385:10: note: suggested alternative: ‘_ISwspace’
   return mNamespace.c_str();
          ^~~~~~~~~~
          _ISwspace
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:390:1: error: ‘ModulatedDeformableConvPluginDynamicCreator’ does not name a type
 ModulatedDeformableConvPluginDynamicCreator::
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:396:13: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 const char *ModulatedDeformableConvPluginDynamicCreator::getPluginName() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:396:74: error: non-member function ‘const char* nvinfer1::getPluginName()’ cannot have cv-qualifier
 const char *ModulatedDeformableConvPluginDynamicCreator::getPluginName() const {
                                                                          ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginName()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:397:10: error: ‘DCN_NAME’ was not declared in this scope
   return DCN_NAME;
          ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:397:10: note: suggested alternatives:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:18:20: note:   ‘amirstan::plugin::{anonymous}::DCN_NAME’
 static const char *DCN_NAME{"ModulatedDeformableConvPluginDynamic"};
                    ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:18:20: note:   ‘amirstan::plugin::{anonymous}::DCN_NAME’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:400:13: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 const char *ModulatedDeformableConvPluginDynamicCreator::getPluginVersion()
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:401:5: error: non-member function ‘const char* nvinfer1::getPluginVersion()’ cannot have cv-qualifier
     const {
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginVersion()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:401:5: error: ‘const char* nvinfer1::getPluginVersion()’ conflicts with a previous declaration
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:294:13: note: previous declaration ‘const char* nvinfer1::getPluginVersion()’
 const char *ModulatedDeformableConvPluginDynamic::getPluginVersion() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:402:10: error: ‘DCN_VERSION’ was not declared in this scope
   return DCN_VERSION;
          ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:402:10: note: suggested alternatives:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:17:20: note:   ‘amirstan::plugin::{anonymous}::DCN_VERSION’
 static const char *DCN_VERSION{"1"};
                    ^~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:17:20: note:   ‘amirstan::plugin::{anonymous}::DCN_VERSION’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:406:1: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 ModulatedDeformableConvPluginDynamicCreator::getFieldNames() {
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const nvinfer1::PluginFieldCollection* nvinfer1::getFieldNames()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:407:11: error: ‘mFC’ was not declared in this scope
   return &mFC;
           ^~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:407:11: note: suggested alternative:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:21:23: note:   ‘amirstan::plugin::mFC’
 PluginFieldCollection ModulatedDeformableConvPluginDynamicCreator::mFC{};
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:410:12: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 IPluginV2 *ModulatedDeformableConvPluginDynamicCreator::createPlugin(
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘nvinfer1::IPluginV2* nvinfer1::createPlugin(const char*, const nvinfer1::PluginFieldCollection*)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:416:34: warning: missing initializer for member ‘nvinfer1::Dims::type’ [-Wmissing-field-initializers]
   nvinfer1::Dims stride{2, {1, 1}};
                                  ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:417:35: warning: missing initializer for member ‘nvinfer1::Dims::type’ [-Wmissing-field-initializers]
   nvinfer1::Dims padding{2, {0, 0}};
                                   ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:418:36: warning: missing initializer for member ‘nvinfer1::Dims::type’ [-Wmissing-field-initializers]
   nvinfer1::Dims dilation{2, {1, 1}};
                                    ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:479:16: error: ‘fieldTypeToDataType’ was not declared in this scope
       W.type = fieldTypeToDataType(fc->fields[i].type);
                ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:479:16: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:78:27: note:   ‘nvinfer1::fieldTypeToDataType’
 inline nvinfer1::DataType fieldTypeToDataType(
                           ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:486:16: error: ‘fieldTypeToDataType’ was not declared in this scope
       B.type = fieldTypeToDataType(fc->fields[i].type);
                ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:486:16: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:78:27: note:   ‘nvinfer1::fieldTypeToDataType’
 inline nvinfer1::DataType fieldTypeToDataType(
                           ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:491:15: error: no match for ‘operator<<’ (operand types are ‘LogStreamConsumer’ and ‘const char [25]’)
     gLogError << "Invalid output dimension" << std::endl;
     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note: candidate: std::ostream& nvinfer1::operator<<(std::ostream&, const nvinfer1::Dims&)
 inline std::ostream& operator<<(std::ostream& os, const nvinfer1::Dims& dims) {
                      ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note:   no known conversion for argument 1 from ‘LogStreamConsumer’ to ‘std::ostream& {aka std::basic_ostream<char>&}’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:491:53: error: ‘endl’ is not a member of ‘std’
     gLogError << "Invalid output dimension" << std::endl;
                                                     ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:491:53: note: suggested alternative: ‘end’
     gLogError << "Invalid output dimension" << std::endl;
                                                     ^~~~
                                                     end
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:494:15: error: no match for ‘operator<<’ (operand types are ‘LogStreamConsumer’ and ‘const char [16]’)
     gLogError << "Invalid type id" << typeId << std::endl;
     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note: candidate: std::ostream& nvinfer1::operator<<(std::ostream&, const nvinfer1::Dims&)
 inline std::ostream& operator<<(std::ostream& os, const nvinfer1::Dims& dims) {
                      ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note:   no known conversion for argument 1 from ‘LogStreamConsumer’ to ‘std::ostream& {aka std::basic_ostream<char>&}’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:494:54: error: ‘endl’ is not a member of ‘std’
     gLogError << "Invalid type id" << typeId << std::endl;
                                                      ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:494:54: note: suggested alternative: ‘end’
     gLogError << "Invalid type id" << typeId << std::endl;
                                                      ^~~~
                                                      end
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:497:15: error: no match for ‘operator<<’ (operand types are ‘LogStreamConsumer’ and ‘const char [16]’)
     gLogError << "Invalid weights" << std::endl;
     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/amirCommon.h:5:0,
                 from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:8:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note: candidate: std::ostream& nvinfer1::operator<<(std::ostream&, const nvinfer1::Dims&)
 inline std::ostream& operator<<(std::ostream& os, const nvinfer1::Dims& dims) {
                      ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/common/common.h:789:22: note:   no known conversion for argument 1 from ‘LogStreamConsumer’ to ‘std::ostream& {aka std::basic_ostream<char>&}’
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:497:44: error: ‘endl’ is not a member of ‘std’
     gLogError << "Invalid weights" << std::endl;
                                            ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:497:44: note: suggested alternative: ‘end’
     gLogError << "Invalid weights" << std::endl;
                                            ^~~~
                                            end
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:501:3: error: ‘ModulatedDeformableConvPluginDynamic’ was not declared in this scope
   ModulatedDeformableConvPluginDynamic *plugin =
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:501:3: note: suggested alternative:
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:2:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/include/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.h:14:7: note:   ‘amirstan::plugin::ModulatedDeformableConvPluginDynamic’
 class ModulatedDeformableConvPluginDynamic
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:501:48: error: expected primary-expression before ‘=’ token
   ModulatedDeformableConvPluginDynamic *plugin =
                                                ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:502:11: error: expected type-specifier before ‘ModulatedDeformableConvPluginDynamic’
       new ModulatedDeformableConvPluginDynamic(name, type, outDims, kernelSize,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:504:9: error: expected primary-expression before ‘->’ token
   plugin->setPluginNamespace(getPluginNamespace());
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:504:30: error: ‘getPluginNamespace’ was not declared in this scope
   plugin->setPluginNamespace(getPluginNamespace());
                              ^~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:504:30: note: suggested alternative:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:384:13: note:   ‘nvinfer1::getPluginNamespace’
 const char *ModulatedDeformableConvPluginDynamic::getPluginNamespace() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:505:9: error: expected primary-expression before ‘->’ token
   plugin->setStrideNd(stride);
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:506:9: error: expected primary-expression before ‘->’ token
   plugin->setPaddingNd(padding);
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:507:9: error: expected primary-expression before ‘->’ token
   plugin->setDilationNd(dilation);
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:508:9: error: expected primary-expression before ‘->’ token
   plugin->setDeformableGroup(deformableGroup);
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:509:9: error: expected primary-expression before ‘->’ token
   plugin->setGroup(group);
         ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:511:16: error: expected primary-expression before ‘;’ token
   return plugin;
                ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:500:12: warning: unused variable ‘type’ [-Wunused-variable]
   DataType type = static_cast<DataType>(typeId);
            ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:411:17: warning: unused parameter ‘name’ [-Wunused-parameter]
     const char *name, const PluginFieldCollection *fc) {
                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:514:12: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 IPluginV2 *ModulatedDeformableConvPluginDynamicCreator::deserializePlugin(
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘nvinfer1::IPluginV2* nvinfer1::deserializePlugin(const char*, const void*, size_t)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:519:11: error: expected type-specifier before ‘ModulatedDeformableConvPluginDynamic’
       new ModulatedDeformableConvPluginDynamic(name, serialData, serialLength);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:520:30: error: ‘getPluginNamespace’ was not declared in this scope
   plugin->setPluginNamespace(getPluginNamespace());
                              ^~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:520:30: note: suggested alternative:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:384:13: note:   ‘nvinfer1::getPluginNamespace’
 const char *ModulatedDeformableConvPluginDynamic::getPluginNamespace() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:515:17: warning: unused parameter ‘name’ [-Wunused-parameter]
     const char *name, const void *serialData, size_t serialLength) {
                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:515:35: warning: unused parameter ‘serialData’ [-Wunused-parameter]
     const char *name, const void *serialData, size_t serialLength) {
                                   ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:515:54: warning: unused parameter ‘serialLength’ [-Wunused-parameter]
     const char *name, const void *serialData, size_t serialLength) {
                                                      ^~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:524:6: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 void ModulatedDeformableConvPluginDynamicCreator::setPluginNamespace(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘void nvinfer1::setPluginNamespace(const char*)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:525:29: error: ‘void nvinfer1::setPluginNamespace(const char*)’ conflicts with a previous declaration
     const char *libNamespace) {
                             ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:379:6: note: previous declaration ‘void nvinfer1::setPluginNamespace(const char*)’
 void ModulatedDeformableConvPluginDynamic::setPluginNamespace(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:526:3: error: ‘mNamespace’ was not declared in this scope
   mNamespace = libNamespace;
   ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:526:3: note: suggested alternative: ‘libNamespace’
   mNamespace = libNamespace;
   ^~~~~~~~~~
   libNamespace
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:529:13: error: ‘ModulatedDeformableConvPluginDynamicCreator’ has not been declared
 const char *ModulatedDeformableConvPluginDynamicCreator::getPluginNamespace()
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:530:5: error: non-member function ‘const char* nvinfer1::getPluginNamespace()’ cannot have cv-qualifier
     const {
     ^~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘const char* nvinfer1::getPluginNamespace()’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:530:5: error: ‘const char* nvinfer1::getPluginNamespace()’ conflicts with a previous declaration
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:384:13: note: previous declaration ‘const char* nvinfer1::getPluginNamespace()’
 const char *ModulatedDeformableConvPluginDynamic::getPluginNamespace() const {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:531:10: error: ‘mNamespace’ was not declared in this scope
   return mNamespace.c_str();
          ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:531:10: note: suggested alternative: ‘_ISwspace’
   return mNamespace.c_str();
          ^~~~~~~~~~
          _ISwspace
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: In function ‘bool nvinfer1::supportsFormatCombination(int, const nvinfer1::PluginTensorDesc*, int, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:202:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:18:20: warning: ‘amirstan::plugin::{anonymous}::DCN_NAME’ defined but not used [-Wunused-variable]
 static const char *DCN_NAME{"ModulatedDeformableConvPluginDynamic"};
                    ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/deformableConvPlugin/modulatedDeformableConvPlugin.cpp:17:20: warning: ‘amirstan::plugin::{anonymous}::DCN_VERSION’ defined but not used [-Wunused-variable]
 static const char *DCN_VERSION{"1"};
                    ^~~~~~~~~~~
src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/build.make:258: recipe for target 'src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/modulatedDeformableConvPlugin.cpp.o' failed
make[2]: *** [src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/modulatedDeformableConvPlugin.cpp.o] Error 1
CMakeFiles/Makefile2:278: recipe for target 'src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/all' failed
make[1]: *** [src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/all] Error 2
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/common.cu: In function ‘const char* cublasGetErrorString(cublasStatus_t)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/common.cu:138:8: warning: enumeration value ‘CUBLAS_STATUS_NOT_SUPPORTED’ not handled in switch [-Wswitch]
   switch (error) {
        ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/common.cu:138:8: warning: enumeration value ‘CUBLAS_STATUS_LICENSE_ERROR’ not handled in switch [-Wswitch]
Scanning dependencies of target batchedNMSPlugin_static
[ 37%] Building CXX object src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/batchedNMSInference.cpp.o
[ 38%] Building CXX object src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/kernel.cpp.o
[ 40%] Building CXX object src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/batchedNMSPlugin.cpp.o
[ 41%] Building CXX object src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/nmsHelper.cpp.o
In file included from /home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:17:0:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:27:53: error: expected class-name before ‘{’ token
 class BatchedNMSPlugin : public IPluginV2DynamicExt {
                                                     ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:37:13: error: ‘DimsExprs’ in namespace ‘nvinfer1’ does not name a type
   nvinfer1::DimsExprs getOutputDimensions(
             ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:45:43: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
   size_t getWorkspaceSize(const nvinfer1::PluginTensorDesc* inputs,
                                           ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:47:43: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
                           const nvinfer1::PluginTensorDesc* outputs,
                                           ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:50:31: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
   int enqueue(const nvinfer1::PluginTensorDesc* inputDesc,
                               ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:51:31: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
               const nvinfer1::PluginTensorDesc* outputDesc,
                               ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:59:40: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
   void configurePlugin(const nvinfer1::DynamicPluginTensorDesc* inputs,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:61:40: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
                        const nvinfer1::DynamicPluginTensorDesc* outputs,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:65:50: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
                                  const nvinfer1::PluginTensorDesc* inOut,
                                                  ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:74:3: error: ‘IPluginV2DynamicExt’ does not name a type; did you mean ‘IPluginV2Ext’?
   IPluginV2DynamicExt* clone() const override;
   ^~~~~~~~~~~~~~~~~~~
   IPluginV2Ext
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:96:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::canBroadcastInputAcrossBatch;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:97:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::configurePlugin;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:98:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::enqueue;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:99:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::getOutputDimensions;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:100:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::getWorkspaceSize;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:101:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::isOutputBroadcastAcrossBatch;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:102:19: error: ‘nvinfer1::IPluginV2DynamicExt’ has not been declared
   using nvinfer1::IPluginV2DynamicExt::supportsFormat;
                   ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:33:3: error: ‘nvinfer1::plugin::BatchedNMSPlugin::~BatchedNMSPlugin()’ marked ‘override’, but does not override
   ~BatchedNMSPlugin() override = default;
   ^
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:35:7: error: ‘int nvinfer1::plugin::BatchedNMSPlugin::getNbOutputs() const’ marked ‘override’, but does not override
   int getNbOutputs() const override;
       ^~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:41:7: error: ‘int nvinfer1::plugin::BatchedNMSPlugin::initialize()’ marked ‘override’, but does not override
   int initialize() override;
       ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:43:8: error: ‘void nvinfer1::plugin::BatchedNMSPlugin::terminate()’ marked ‘override’, but does not override
   void terminate() override;
        ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:45:10: error: ‘size_t nvinfer1::plugin::BatchedNMSPlugin::getWorkspaceSize(const int*, int, const int*, int) const’ marked ‘override’, but does not override
   size_t getWorkspaceSize(const nvinfer1::PluginTensorDesc* inputs,
          ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:50:7: error: ‘int nvinfer1::plugin::BatchedNMSPlugin::enqueue(const int*, const int*, const void* const*, void* const*, void*, cudaStream_t)’ marked ‘override’, but does not override
   int enqueue(const nvinfer1::PluginTensorDesc* inputDesc,
       ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:55:10: error: ‘size_t nvinfer1::plugin::BatchedNMSPlugin::getSerializationSize() const’ marked ‘override’, but does not override
   size_t getSerializationSize() const override;
          ^~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:57:8: error: ‘void nvinfer1::plugin::BatchedNMSPlugin::serialize(void*) const’ marked ‘override’, but does not override
   void serialize(void* buffer) const override;
        ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:59:8: error: ‘void nvinfer1::plugin::BatchedNMSPlugin::configurePlugin(const int*, int, const int*, int)’ marked ‘override’, but does not override
   void configurePlugin(const nvinfer1::DynamicPluginTensorDesc* inputs,
        ^~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:64:8: error: ‘bool nvinfer1::plugin::BatchedNMSPlugin::supportsFormatCombination(int, const int*, int, int)’ marked ‘override’, but does not override
   bool supportsFormatCombination(int pos,
        ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:68:15: error: ‘const char* nvinfer1::plugin::BatchedNMSPlugin::getPluginType() const’ marked ‘override’, but does not override
   const char* getPluginType() const override;
               ^~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:70:15: error: ‘const char* nvinfer1::plugin::BatchedNMSPlugin::getPluginVersion() const’ marked ‘override’, but does not override
   const char* getPluginVersion() const override;
               ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:72:8: error: ‘void nvinfer1::plugin::BatchedNMSPlugin::destroy()’ marked ‘override’, but does not override
   void destroy() override;
        ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:76:22: error: ‘nvinfer1::DataType nvinfer1::plugin::BatchedNMSPlugin::getOutputDataType(int, const nvinfer1::DataType*, int) const’ marked ‘override’, but does not override
   nvinfer1::DataType getOutputDataType(int index,
                      ^~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:80:8: error: ‘void nvinfer1::plugin::BatchedNMSPlugin::setPluginNamespace(const char*)’ marked ‘override’, but does not override
   void setPluginNamespace(const char* libNamespace) override;
        ^~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.h:82:15: error: ‘const char* nvinfer1::plugin::BatchedNMSPlugin::getPluginNamespace() const’ marked ‘override’, but does not override
   const char* getPluginNamespace() const override;
               ^~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSInference.cpp: In function ‘pluginStatus_t nmsInference(cudaStream_t, int, int, int, bool, int, int, int, int, int, float, float, nvinfer1::DataType, const void*, nvinfer1::DataType, const void*, void*, void*, void*, void*, void*, bool, bool, bool)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSInference.cpp:28:20: warning: unused parameter ‘DT_BBOX’ [-Wunused-parameter]
     const DataType DT_BBOX, const void* locData, const DataType DT_SCORE,
                    ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSInference.cpp:28:65: warning: unused parameter ‘DT_SCORE’ [-Wunused-parameter]
     const DataType DT_BBOX, const void* locData, const DataType DT_SCORE,
                                                                 ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:62:11: error: ‘DimsExprs’ in namespace ‘nvinfer1’ does not name a type
 nvinfer1::DimsExprs BatchedNMSPlugin::getOutputDimensions(
           ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:101:21: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::PluginTensorDesc* inputs, int nbInputs,
                     ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:102:21: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::PluginTensorDesc* outputs, int nbOutputs) const {
                     ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘size_t nvinfer1::plugin::BatchedNMSPlugin::getWorkspaceSize(const int*, int, const int*, int) const’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:103:33: error: request for member ‘dims’ in ‘* inputs’, which is of non-class type ‘const int’
   size_t batch_size = inputs[0].dims.d[0];
                                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:105:17: error: request for member ‘dims’ in ‘* inputs’, which is of non-class type ‘const int’
       inputs[0].dims.d[1] * inputs[0].dims.d[2] * inputs[0].dims.d[3];
                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:105:39: error: request for member ‘dims’ in ‘* inputs’, which is of non-class type ‘const int’
       inputs[0].dims.d[1] * inputs[0].dims.d[2] * inputs[0].dims.d[3];
                                       ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:105:61: error: request for member ‘dims’ in ‘* inputs’, which is of non-class type ‘const int’
       inputs[0].dims.d[1] * inputs[0].dims.d[2] * inputs[0].dims.d[3];
                                                             ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:106:33: error: request for member ‘dims’ in ‘*(inputs + 4)’, which is of non-class type ‘const int’
   size_t score_size = inputs[1].dims.d[1] * inputs[1].dims.d[2];
                                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:106:55: error: request for member ‘dims’ in ‘*(inputs + 4)’, which is of non-class type ‘const int’
   size_t score_size = inputs[1].dims.d[1] * inputs[1].dims.d[2];
                                                       ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:107:33: error: request for member ‘dims’ in ‘* inputs’, which is of non-class type ‘const int’
   size_t num_priors = inputs[0].dims.d[1];
                                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:101:51: warning: unused parameter ‘nbInputs’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc* inputs, int nbInputs,
                                                   ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:102:39: warning: unused parameter ‘outputs’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc* outputs, int nbOutputs) const {
                                       ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:102:52: warning: unused parameter ‘nbOutputs’ [-Wunused-parameter]
     const nvinfer1::PluginTensorDesc* outputs, int nbOutputs) const {
                                                    ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:113:47: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
 int BatchedNMSPlugin::enqueue(const nvinfer1::PluginTensorDesc* inputDesc,
                                               ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:114:47: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
                               const nvinfer1::PluginTensorDesc* outputDesc,
                                               ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘int nvinfer1::plugin::BatchedNMSPlugin::enqueue(const int*, const int*, const void* const*, void* const*, void*, cudaStream_t)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:125:36: error: request for member ‘dims’ in ‘* inputDesc’, which is of non-class type ‘const int’
   size_t batch_size = inputDesc[0].dims.d[0];
                                    ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:127:20: error: request for member ‘dims’ in ‘* inputDesc’, which is of non-class type ‘const int’
       inputDesc[0].dims.d[1] * inputDesc[0].dims.d[2] * inputDesc[0].dims.d[3];
                    ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:127:45: error: request for member ‘dims’ in ‘* inputDesc’, which is of non-class type ‘const int’
       inputDesc[0].dims.d[1] * inputDesc[0].dims.d[2] * inputDesc[0].dims.d[3];
                                             ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:127:70: error: request for member ‘dims’ in ‘* inputDesc’, which is of non-class type ‘const int’
       inputDesc[0].dims.d[1] * inputDesc[0].dims.d[2] * inputDesc[0].dims.d[3];
                                                                      ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:128:36: error: request for member ‘dims’ in ‘*(inputDesc + 4)’, which is of non-class type ‘const int’
   size_t score_size = inputDesc[1].dims.d[1] * inputDesc[1].dims.d[2];
                                    ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:128:61: error: request for member ‘dims’ in ‘*(inputDesc + 4)’, which is of non-class type ‘const int’
   size_t score_size = inputDesc[1].dims.d[1] * inputDesc[1].dims.d[2];
                                                             ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:129:36: error: request for member ‘dims’ in ‘* inputDesc’, which is of non-class type ‘const int’
   size_t num_priors = inputDesc[0].dims.d[1];
                                    ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:114:65: warning: unused parameter ‘outputDesc’ [-Wunused-parameter]
                               const nvinfer1::PluginTensorDesc* outputDesc,
                                                                 ^~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:159:21: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::DynamicPluginTensorDesc* inputs, int nbInputs,
                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:160:21: error: ‘DynamicPluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     const nvinfer1::DynamicPluginTensorDesc* outputs, int nbOutputs) {
                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘void nvinfer1::plugin::BatchedNMSPlugin::configurePlugin(const int*, int, const int*, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:159:46: warning: unused parameter ‘inputs’ [-Wunused-parameter]
     const nvinfer1::DynamicPluginTensorDesc* inputs, int nbInputs,
                                              ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:159:58: warning: unused parameter ‘nbInputs’ [-Wunused-parameter]
     const nvinfer1::DynamicPluginTensorDesc* inputs, int nbInputs,
                                                          ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:160:46: warning: unused parameter ‘outputs’ [-Wunused-parameter]
     const nvinfer1::DynamicPluginTensorDesc* outputs, int nbOutputs) {
                                              ^~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:160:59: warning: unused parameter ‘nbOutputs’ [-Wunused-parameter]
     const nvinfer1::DynamicPluginTensorDesc* outputs, int nbOutputs) {
                                                           ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:165:30: error: ‘PluginTensorDesc’ in namespace ‘nvinfer1’ does not name a type
     int pos, const nvinfer1::PluginTensorDesc* inOut, int nbInputs,
                              ^~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘bool nvinfer1::plugin::BatchedNMSPlugin::supportsFormatCombination(int, const int*, int, int)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:170:23: error: request for member ‘type’ in ‘*(inOut + ((sizetype)(((long unsigned int)pos) * 4)))’, which is of non-class type ‘const int’
     return inOut[pos].type == nvinfer1::DataType::kINT32 &&
                       ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:171:23: error: request for member ‘format’ in ‘*(inOut + ((sizetype)(((long unsigned int)pos) * 4)))’, which is of non-class type ‘const int’
            inOut[pos].format == nvinfer1::TensorFormat::kLINEAR;
                       ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:171:43: error: ‘nvinfer1::TensorFormat’ has not been declared
            inOut[pos].format == nvinfer1::TensorFormat::kLINEAR;
                                           ^~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:173:21: error: request for member ‘type’ in ‘*(inOut + ((sizetype)(((long unsigned int)pos) * 4)))’, which is of non-class type ‘const int’
   return inOut[pos].type == nvinfer1::DataType::kFLOAT &&
                     ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:174:21: error: request for member ‘format’ in ‘*(inOut + ((sizetype)(((long unsigned int)pos) * 4)))’, which is of non-class type ‘const int’
          inOut[pos].format == nvinfer1::TensorFormat::kLINEAR;
                     ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:174:41: error: ‘nvinfer1::TensorFormat’ has not been declared
          inOut[pos].format == nvinfer1::TensorFormat::kLINEAR;
                                         ^~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:167:15: warning: unused variable ‘in’ [-Wunused-variable]
   const auto* in = inOut;
               ^~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:168:15: warning: unused variable ‘out’ [-Wunused-variable]
   const auto* out = inOut + nbInputs;
               ^~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:166:9: warning: unused parameter ‘nbOutputs’ [-Wunused-parameter]
     int nbOutputs) {
         ^~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: At global scope:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:185:1: error: ‘IPluginV2DynamicExt’ does not name a type
 IPluginV2DynamicExt* BatchedNMSPlugin::clone() const {
 ^~~~~~~~~~~~~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘nvinfer1::DataType nvinfer1::plugin::BatchedNMSPlugin::getOutputDataType(int, const nvinfer1::DataType*, int) const’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:204:58: warning: unused parameter ‘nbInputs’ [-Wunused-parameter]
     int index, const nvinfer1::DataType* inputTypes, int nbInputs) const {
                                                          ^~~~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘virtual nvinfer1::IPluginV2Ext* nvinfer1::plugin::BatchedNMSPluginCreator::createPlugin(const char*, const nvinfer1::PluginFieldCollection*)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:297:10: error: cannot convert ‘nvinfer1::plugin::BatchedNMSPlugin*’ to ‘nvinfer1::IPluginV2Ext*’ in return
   return plugin;
          ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:261:17: warning: unused parameter ‘name’ [-Wunused-parameter]
     const char* name, const PluginFieldCollection* fc) {
                 ^~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp: In member function ‘virtual nvinfer1::IPluginV2Ext* nvinfer1::plugin::BatchedNMSPluginCreator::deserializePlugin(const char*, const void*, size_t)’:
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:307:10: error: cannot convert ‘nvinfer1::plugin::BatchedNMSPlugin*’ to ‘nvinfer1::IPluginV2Ext*’ in return
   return plugin;
          ^~~~~~
/home/sycv/workplace/pengyuzhou/amirstan_plugin/src/plugin/batchedNMSPlugin/batchedNMSPlugin.cpp:300:70: warning: unused parameter ‘name’ [-Wunused-parameter]
 IPluginV2Ext* BatchedNMSPluginCreator::deserializePlugin(const char* name,
                                                                      ^~~~
src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/build.make:2253: recipe for target 'src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/batchedNMSPlugin.cpp.o' failed
make[2]: *** [src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/batchedNMSPlugin.cpp.o] Error 1
CMakeFiles/Makefile2:718: recipe for target 'src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/all' failed
make[1]: *** [src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2


Can you give me some advice? thanks a lot

how do I use an engine file in C++

Thank you for your contribution. I have generated an engine file, how do I use it in C++. The error is: [TRT] INVALID_ARGUMENT: getPluginCreator could not find plugin GridSamplePluginDynamic version 1. Looking forward to your reply!

NvInferRuntimeCommon.h not find

/opt/amirstan_plugin/src/plugin/common/logging.h:20:10: fatal error: NvInferRuntimeCommon.h: No such file or directory
#include "NvInferRuntimeCommon.h"
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

detail:
(trt) root@8c74b39d4dd2:/opt/amirstan_plugin/build# make -j10
-- Found TensorRT headers at /usr/include/x86_64-linux-gnu
-- Find TensorRT libs at /usr/lib/x86_64-linux-gnu/libnvinfer.so;/usr/lib/x86_64-linux-gnu/libnvparsers.so;/usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/amirstan_plugin/build
[ 1%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_repeatDims.cu.o
[ 2%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_memcpyPermute.cu.o
[ 4%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_tensorMeanVar.cu.o
Scanning dependencies of target amir_cuda_util
[ 5%] Linking CXX static library ../../lib/libamir_cuda_util.a
[ 5%] Built target amir_cuda_util
[ 7%] Building NVCC (Device) object src/plugin/groupNormPlugin/CMakeFiles/groupNormPlugin_static.dir/groupNormPlugin_static_generated_group_norm_kernel.cu.o
[ 8%] Building NVCC (Device) object src/plugin/roiExtractorPlugin/CMakeFiles/roiExtractorPlugin_static.dir/roiExtractorPlugin_static_generated_roi_extractor_kernel.cu.o
Scanning dependencies of target exViewPlugin_static
Scanning dependencies of target repeatDimsPlugin_static
[ 10%] Building NVCC (Device) object src/plugin/delta2bboxPlugin/CMakeFiles/delta2bboxPlugin_static.dir/delta2bboxPlugin_static_generated_delta2bbox.cu.o
[ 11%] Building NVCC (Device) object src/plugin/layerNormPlugin/CMakeFiles/layerNormPlugin_static.dir/layerNormPlugin_static_generated_layer_norm_kernel.cu.o
[ 12%] Building NVCC (Device) object src/plugin/gridAnchorDynamicPlugin/CMakeFiles/gridAnchorDynamicPlugin_static.dir/gridAnchorDynamicPlugin_static_generated_grid_anchor_dynamic.cu.o
[ 14%] Building NVCC (Device) object src/plugin/torchGatherPlugin/CMakeFiles/torchGatherPlugin_static.dir/torchGatherPlugin_static_generated_torch_gather.cu.o
[ 15%] Building NVCC (Device) object src/plugin/deformableConvPlugin/CMakeFiles/deformableConvPlugin_static.dir/deformableConvPlugin_static_generated_deform_conv_cuda_kernel.cu.o
[ 17%] Building NVCC (Device) object src/plugin/batchedNMSPlugin/CMakeFiles/batchedNMSPlugin_static.dir/batchedNMSPlugin_static_generated_sortScoresPerImage.cu.o
[ 18%] Building CXX object src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/exViewPlugin.cpp.o
[ 20%] Building CXX object src/plugin/repeatDimsPlugin/CMakeFiles/repeatDimsPlugin_static.dir/repeatDimsPlugin.cpp.o
In file included from /opt/amirstan_plugin/src/plugin/common/logger.h:20:0,
from /opt/amirstan_plugin/src/plugin/common/common.h:32,
from /opt/amirstan_plugin/src/plugin/exViewPlugin/exViewPlugin.cpp:5:
/opt/amirstan_plugin/src/plugin/common/logging.h:20:10: fatal error: NvInferRuntimeCommon.h: No such file or directory
#include "NvInferRuntimeCommon.h"
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/build.make:62: recipe for target 'src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/exViewPlugin.cpp.o' failed
make[2]: *** [src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/exViewPlugin.cpp.o] Error 1
CMakeFiles/Makefile2:430: recipe for target 'src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/all' failed
make[1]: *** [src/plugin/exViewPlugin/CMakeFiles/exViewPlugin_static.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Error at /usr/share/cmake-3.10/Modules/FindCUDA.cmake:682

when i install amirstan_plugin and use the command 'cmake -DTENSORRT_DIR=/root/downloads/TensorRT-7.2.3.4/ ..',error occurs:

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/share/cmake-3.10/Modules/FindCUDA.cmake:682 (message):
Specify CUDA_TOOLKIT_ROOT_DIR
Call Stack (most recent call first):
CMakeLists.txt:6 (FIND_PACKAGE)

-- Configuring incomplete, errors occurred!
See also "/root/project/amirstan_plugin/build/CMakeFiles/CMakeOutput.log".

Build docker image with amirstan plugin on actions

Hi, this is somehow related with #14.

I am trying to build an image using the build-push action for Nvidia Jetson architecture (linux/arm/v8).

I have a very simple dockerfile:

# syntax=docker/dockerfile:experimental

FROM nvcr.io/nvidia/deepstream-l4t:5.0.1-20.09-samples as build

WORKDIR / 

RUN --mount=type=cache,id=apt-build,target=/var/cache/apt \
    apt update && apt install -y \
        git \
        wget \
        cmake \
        g++ && \
    rm -rf /var/lib/apt/lists/*

RUN git clone --depth=1 --single-branch --branch patch-1 https://github.com/mmeendez8/amirstan_plugin.git && \ 
    cd /amirstan_plugin && \ 
    git submodule update --init --progress --depth=1 && \
    mkdir build && \
    cd build && \
    cmake .. -DWITH_DEEPSTREAM=true && \
    make -j10

Which works perfectly when it is build on Jetson... But this does not happen using docker multi-arch build on Github Actions or on my local computer.

I have set up a simple pipeline which builds the image using platforms: linux/arm64/v8 (see here)

The error is related with TensorRT, which is located in /usr/include/aarch64-linux-gnu but not found by the compiler...

#11 38.05 -- Found TensorRT headers at TENSORRT_INCLUDE_DIR-NOTFOUND
#11 38.06 -- Find TensorRT libs at TENSORRT_LIBRARY_INFER-NOTFOUND;TENSORRT_LIBRARY_PARSERS-NOTFOUND;TENSORRT_LIBRARY_INFER_PLUGIN-NOTFOUND
#11 38.07 -- Could NOT find TENSORRT (missing: TENSORRT_INCLUDE_DIR TENSORRT_LIBRARY) 
#11 38.07 ERRORCannot find TensorRT library.

I have tried to compile adding the path but with no success:
cmake .. -DWITH_DEEPSTREAM=true -DTENSORRT_DIR=/usr/include/aarch64-linux-gnu

Here is the complete log for the action: https://github.com/mmeendez8/amirstan_plugin/runs/2557972243?check_suite_focus=true

You can also test this on your local computer (if you have previously setup qemu) using docker buildx with the following command:
docker buildx build --platform linux/arm64 -f docker/Dockerfile -t amirstan_image_jetson:latest .

Error during compilation with TensorRT 8

Hi!

I'm trying to compile this project with TensorRT 8 but some errors raised because NVIDIA added the noexcept operator to some declarations and also made some methods private. You can find the output log here.

is the support for TensorRT 8 on the roadmap?

Thanks!

Plugin (version v0.5.0) not compatible with deepstream-5.0

I have a deepstream pipeline running on deepstream-5.0 (on a docker container). So far, I have been working on Jetpack 4.4 (with the amirstan_plugin on the v0.2.0, and using the mmdet2trt tool also on v0.2.0). That has been working so far. All of this in a docker container, as I have said.

However when working on Jetpack 4.6, I use amirstan_plugin v0.5.0 and mmdet2trt v0.5.0 for converting the models to TensorRT. But when I try to create a docker container with DeepStream-5.0 and Amirstan_plugin v0.5.0, the compilation of the plugin fails, here you have the error I get:

[ 95%] Linking CXX static library ../../../lib/libtorchNMSPlugin_static.a
[ 95%] Built target torchNMSPlugin_static
[ 98%] Building CXX object src/plugin/CMakeFiles/amirstan_plugin.dir/InferPlugin.cpp.o
[ 98%] Building CXX object src/plugin/CMakeFiles/amirstan_plugin.dir/NvDsInferParseMmdet.cpp.o
/amirstan_plugin/src/plugin/NvDsInferParseMmdet.cpp:4:10: fatal error: nvdsinfer_custom_impl.h: No such file or directory
 #include "nvdsinfer_custom_impl.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
src/plugin/CMakeFiles/amirstan_plugin.dir/build.make:89: recipe for target 'src/plugin/CMakeFiles/amirstan_plugin.dir/NvDsInferParseMmdet.cpp.o' failed
make[2]: *** [src/plugin/CMakeFiles/amirstan_plugin.dir/NvDsInferParseMmdet.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:517: recipe for target 'src/plugin/CMakeFiles/amirstan_plugin.dir/all' failed
make[1]: *** [src/plugin/CMakeFiles/amirstan_plugin.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
The command '/bin/sh -c git clone --depth=1 --branch v0.5.0 https://github.com/grimoire/amirstan_plugin.git /amirstan_plugin     && cd /amirstan_plugin     && git submodule update --init --progress --depth=1     && cd /amirstan_plugin     && mkdir build     && cd build     && cmake .. -DWITH_DEEPSTREAM=true -DTENSORRT_DIR=/usr/include/aarch64-linux-gnu     && make -j10' returned a non-zero code: 2

That happens when building the plugin with Deepstream support.

Is there, by any chance, a way of giving support to the newest version of the plugin (at least v0.5.0, I use that because of the TensorRT version of jetpack 4.6) to deepstream-5.0?

Thanks for your help

some issues when build with win10 use clion cuda11.1 tensorrt 8.0

batchedNMSPlugin/kernel.h line 32 std::max->std::fmax;
batchedNMSPlugin batchedNMSInference.cpp and batchedNMSPlugin.h nmsInference is not the same;
torchCumPlugin torchCumPlugin.cpp line 58 or->||;

cmakeslist

  1. find_package(CUDA REQUIRED) changed to set(CMAKE_SIZEOF_VOID_P 8) FIND_PACKAGE(CUDA REQUIRED);
  2. add libraries when use cublas:target_link_libraries(${SHARED_TARGET or STATIC_TARGET} ${CUDA_cublas_LIBRARY})

Error [Convolution]: number of channels in input tensor to a convolution layer must not be dynamic

Hi, I'm trying to use torch2trt_dynamic to convert model from pytorch to tensorrt and get the error that number of channels in input tensor to a convolution layer must not be dynamic
To replicate the error I write some example code with lenet5. Here it is:

from torch2trt_dynamic import torch2trt_dynamic
import torch
import torch.nn as nn


class LeNet5(nn.Module):
    def __init__(self):
        super().__init__()

        self._body = nn.Sequential(
            nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(kernel_size=2),

            nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(kernel_size=2),
        )

        self._head = nn.Sequential(
            nn.Linear(in_features=16 * 5 * 5, out_features=120),
            nn.ReLU(inplace=True),
            nn.Linear(in_features=120, out_features=84),
            nn.ReLU(inplace=True),
            nn.Linear(in_features=84, out_features=10)
        )

    def forward(self, x):
        x = self._body(x)
        x = x.view(x.size()[0], -1)
        x = self._head(x)
        return x


model = LeNet5()
model_path = 'models/lenet5_mnist.pt'
model_to_save = 'models/lenet5_mnist_trt.pt'

# loading the model and getting model parameters by using load_state_dict
model.load_state_dict(torch.load(model_path))
model.eval().cuda()

# create example data
x = torch.ones((1, 1, 32, 32)).cuda()

# convert to TensorRT feeding sample data as input
opt_shape_param = [
    [
        [1, 1, 16, 16],   # min
        [1, 1, 32, 32],   # opt
        [1, 1, 64, 64]    # max
    ]
]
model_trt = torch2trt_dynamic(model, [x], fp16_mode=False, opt_shape_param=opt_shape_param)

x = torch.rand(1,1,32,32).cuda()
with torch.no_grad():
    y = model(x)
    y_trt = model_trt(x)

# check the output against PyTorch
print(torch.max(torch.abs(y - y_trt)))

And there is the error:

[TensorRT] ERROR: (Unnamed Layer* 31) [Convolution]: number of channels in input tensor to a convolution layer must not be dynamic
[TensorRT] ERROR: Builder failed while analyzing shapes.
Traceback (most recent call last):
  File "example_converter.py", line 38, in <module>
    y_trt = model_trt(x)
  File "/home/appuser/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/appuser/torch2trt_dynamic/torch2trt_dynamic/torch2trt_dynamic.py", line 471, in forward
    idx = self.engine.get_binding_index(input_name)
AttributeError: 'NoneType' object has no attribute 'get_binding_index'
appuser@ccaf751bbcf0:/yolact_edge/CustomPlugins$ python example_converter.py 
using lenet5
[TensorRT] ERROR: (Unnamed Layer* 31) [Convolution]: number of channels in input tensor to a convolution layer must not be dynamic
[TensorRT] ERROR: Builder failed while analyzing shapes.
Traceback (most recent call last):
  File "example_converter.py", line 39, in <module>
    y_trt = model_trt(x)
  File "/home/appuser/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/appuser/torch2trt_dynamic/torch2trt_dynamic/torch2trt_dynamic.py", line 471, in forward
    idx = self.engine.get_binding_index(input_name)
AttributeError: 'NoneType' object has no attribute 'get_binding_index'

Ubuntu 18.04
Cuda 10.2
cudnn 8.0.5
Tensorrt 7.1.3
torch 1.8.1

ERROR from primary_gie: Failed to create NvDsInferContext instance

Hello there,
I am getting an error while running the .engine file in Deepstream5.0,

(deepstream-app:1293189): GLib-GObject-WARNING **: 14:02:16.658: value "TRUE" of type 'gboolean' is invalid or out of range for property 'sync' of type 'gboolean'

(deepstream-app:1293189): GLib-GObject-WARNING **: 14:02:16.658: value "TRUE" of type 'gboolean' is invalid or out of range for property 'qos' of type 'gboolean'
ERROR: ../nvdsinfer/nvdsinfer_func_utils.cpp:62 Could not open lib: /mnt/2tb/general/amirstan_plugin/build/lib/libamirstan_plugin.so , error string: /mnt/2tb/general/amirstan_plugin/build/lib/libamirstan_plugin.so : cannot open shared object file: No such file or directory
0:00:01.364363794 1293189 0x55d2f18e6a60 ERROR nvinfer gstnvinfer.cpp:613:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1139> [UID = 1]: Could not open custom lib: (null)
0:00:01.364412714 1293189 0x55d2f18e6a60 WARN nvinfer gstnvinfer.cpp:809:gst_nvinfer_start:<primary_gie> error: Failed to create NvDsInferContext instance
0:00:01.364422612 1293189 0x55d2f18e6a60 WARN nvinfer gstnvinfer.cpp:809:gst_nvinfer_start:<primary_gie> error: Config file path: /mnt/2tb/general/amirstan_plugin/build/lib/config_infer.txt, NvDsInfer Error: NVDSINFER_CUSTOM_LIB_FAILED
** ERROR: main:655: Failed to set pipeline to PAUSED
Quitting
ERROR from primary_gie: Failed to create NvDsInferContext instance
Debug info: gstnvinfer.cpp(809): gst_nvinfer_start (): /GstPipeline:pipeline/GstBin:primary_gie_bin/GstNvInfer:primary_gie:
Config file path: /mnt/2tb/general/amirstan_plugin/build/lib/config_infer.txt, NvDsInfer Error: NVDSINFER_CUSTOM_LIB_FAILED
App run failed

I made the following changes in the .txt file
[property]
net-scale-factor=0.0173
offsets=123.675;116.28;103.53
gpu-id=0
model-engine-file=models/my_model/model.engine
labelfile-path=models/my_model/labels.txt
batch-size=1
process-mode=1
model-color-format=0
network-mode=2
num-detected-classes=4
interval=0
gie-unique-id=1
#output-blob-names=num_detections;boxes;scores;classes
force-implicit-batch-dim=1
parse-bbox-func-name=NvDsInferParseMmdet
output-blob-names=num_detections;boxes;scores;classes
custom-lib-path=libamirstan_plugin.so

About using BatchNMSPlugin when embed plugin to custom built network INetworkDefinition

Hi @grimoire ,
I'm trying to deploy a custom Faster-RCNN network from scratch using TensorRT C++ API (using INetworkDefinition API). I'm stucking to step implementing batch non-maximum-suppression in Region Proposal Network and found out your NMS Plugin. So, I wanna embed your plugin to my network, but couldn't understand input and output of your plugin. So could you explain more clearly about plugin?
Thanks for reading my post, very glad to hear your response from you.
Best regards

compatibility with mmdetection-to-tensorrt and deepstream

Hi, i am using MMdet to create a detection model (mmdet 2.25.1, mmcv-full 1.6.1). I now want to convert it to TensorRT to use it on deepstream.

I have been trying with versions 0.5.0 of amirstan__plugin, mmdet-to-trt and torch2trt_dynamic, and also the latest versions of that, but I have not managed to make it work. Am I missing something regards compatibility?

I am running it in a docker container on a Jetson Xavier. When running the conversion, i get a MemoryError (similar as mmdet-to-trt issue 38. I tried the solution (commenting the torch.save line and using --save-engine=true). If I do that, however, I get the .engine file, but when running the deepstream pipeline I get this error:

python3: /amirstan_plugin/src/plugin/common/serialize.hpp:49: static void {anonymous}::Serializer<T, typename std::enable_if<((std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value) || std::is_pod<_Tp>::value)>::type>::deserialize(const void**, size_t*, T*) [with T = int; size_t = long unsigned int]: Assertion `*buffer_size >= sizeof(T)' failed.

Can I get some help with this, please?

cmake error:No CMAKE_CUDA_COMPILER could be found.

hello,I have some problem. CMake Error at src/plugin/CMakeLists.txt:6 (enable_language):
No CMAKE_CUDA_COMPILER could be found.

Tell CMake where to find the compiler by setting the CMake cache entry
CMAKE_CUDA_COMPILER to the full path to the compiler, or to the compiler
name if it is in the PATH.

CMake Error: Could not find cmake module file: CMakeCUDAInformation.cmake
CMake Error: CMAKE_CUDA_COMPILER not set, after EnableLanguage

I can use nvcc
root@8c74b39d4dd2:/opt# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

system:ubuntu docker CUDA10.0 cudnn7.4.2

hi, error: identifier "nullptr" is undefined

hi, I follow your suggestion to build this firstly, but I got the below errors, would you please help me? maybe the gcc version or something is not correct. thanks a lot.

[ 1%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_memcpyPermute.cu.o
[ 3%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_tensorMeanVar.cu.o
[ 4%] Building NVCC (Device) object src/amir_cuda_util/CMakeFiles/amir_cuda_util.dir/amir_cuda_util_generated_repeatDims.cu.o
/media/sem/DATA/quantization/amirstan_plugin/include/amir_cuda_util/cuda_util.h(42): error: identifier "nullptr" is undefined

/media/sem/DATA/quantization/amirstan_plugin/include/amir_cuda_util/cuda_util.h(45): error: identifier "nullptr" is undefined

Error meshGridPlugin.h and nvdsinfer_custom_impl.h: No such file or directory

Hi, I faced the following error during compilation:

[ 98%] Building CXX object src/plugin/CMakeFiles/amirstan_plugin.dir/NvDsInferParseMmdet.cpp.o
/home/aislam/repo/amirstan_plugin/src/plugin/NvDsInferParseMmdet.cpp:4:10: fatal error: nvdsinfer_custom_impl.h: No such file or directory
    4 | #include "nvdsinfer_custom_impl.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/plugin/CMakeFiles/amirstan_plugin.dir/build.make:76: src/plugin/CMakeFiles/amirstan_plugin.dir/NvDsInferParseMmdet.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/aislam/repo/amirstan_plugin/src/plugin/InferPlugin.cpp:12:10: fatal error: meshGridPlugin/meshGridPlugin.h: No such file or directory
   12 | #include "meshGridPlugin/meshGridPlugin.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/plugin/CMakeFiles/amirstan_plugin.dir/build.make:63: src/plugin/CMakeFiles/amirstan_plugin.dir/InferPlugin.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:529: src/plugin/CMakeFiles/amirstan_plugin.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Can you please take a look? I am using TensorRT 8.2.4.2. Thanks.

fatbinary_section.h: No such file or directory

When I make this, I get this error. I use cuda 10.2, cudnn 7.6.5, tensorrt 7.0.0.11

-- Found TensorRT headers at /root/TensorRT-7.0.0.11/include
-- Find TensorRT libs at /root/TensorRT-7.0.0.11/lib/libnvinfer.so;/root/TensorRT-7.0.0.11/lib/libnvparsers.so;/root/TensorRT-7.0.0.11/lib/libnvinfer_plugin.so
-- WITH_DEEPSTREAM: false
CMake Warning at CMakeLists.txt:107 (message):
  Detected CUDA version is < 11.0.  SM80 not supported.


-- GPU_ARCHS is not defined. Generating CUDA code for default SMs: 35;53;61;70;75
-- The CUDA compiler identification is unknown
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - failed
-- Check for working CUDA compiler: /usr/bin/nvcc
-- Check for working CUDA compiler: /usr/bin/nvcc - broken
CMake Error at /usr/local/share/cmake-3.20/Modules/CMakeTestCUDACompiler.cmake:52 (message):
  The CUDA compiler

    "/usr/bin/nvcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /root/amirstan_plugin/build/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/make -f Makefile cmTC_10be4/fast && /usr/bin/make  -f CMakeFiles/cmTC_10be4.dir/build.make CMakeFiles/cmTC_10be4.dir/build
    make[1]: Entering directory '/root/amirstan_plugin/build/CMakeFiles/CMakeTmp'
    Building CUDA object CMakeFiles/cmTC_10be4.dir/main.cu.o
    /usr/bin/nvcc    -Xcompiler -Wno-deprecated-declarations   -c /root/amirstan_plugin/build/CMakeFiles/CMakeTmp/main.cu -o CMakeFiles/cmTC_10be4.dir/main.cu.o
    fatbinary warning : option 'cuda' has been deprecated
    In file included from /tmp/tmpxft_0000d462_00000000-5_main.cudafe1.stub.c:6:0,
                     from tmpxft_0000d462_00000000-5_main.cudafe1.stub.c:1:
    /tmp/tmpxft_0000d462_00000000-2_main.fatbin.c:2:31: fatal error: fatbinary_section.h: No such file or directory
     #include "fatbinary_section.h"
                                   ^
    compilation terminated.
    CMakeFiles/cmTC_10be4.dir/build.make:77: recipe for target 'CMakeFiles/cmTC_10be4.dir/main.cu.o' failed
    make[1]: *** [CMakeFiles/cmTC_10be4.dir/main.cu.o] Error 1
    make[1]: Leaving directory '/root/amirstan_plugin/build/CMakeFiles/CMakeTmp'
    Makefile:127: recipe for target 'cmTC_10be4/fast' failed
    make: *** [cmTC_10be4/fast] Error 2





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  src/plugin/CMakeLists.txt:6 (enable_language)


-- Configuring incomplete, errors occurred!
See also "/root/amirstan_plugin/build/CMakeFiles/CMakeOutput.log".
See also "/root/amirstan_plugin/build/CMakeFiles/CMakeError.log".

Do you have any idea? Thanks so much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.