2019.3.26
- TensorRT的例子中,用到的公共头文件common.h,
// 如果使用CHECK,会跟pytorch中的源码冲突
#define CHECK(status) \
do \
{ \
auto ret = (status); \
if (ret != 0) \
{ \
std::cout << "Cuda failure: " << ret; \
abort(); \
} \
} while (0)
CHECK宏会与pytorch的C++API冲突,虽然编译不会报错,但是会引起错误。
[F sampleOnnxBackbone.cpp:178] CHECK failed: cudaMalloc(&buffers[inputIndex], batchSize *INPUT_C* INPUT_H * INPUT_W * sizeof(float))
解决方法:
给CHECK改个名字,如TENSORRTCHECK。