diff --git a/include/tkDNN/NetworkRT.h b/include/tkDNN/NetworkRT.h index ca012fb..a50cd8c 100644 --- a/include/tkDNN/NetworkRT.h +++ b/include/tkDNN/NetworkRT.h @@ -54,8 +54,10 @@ class NetworkRT { public: nvinfer1::DataType dtRT; - nvinfer1::IBuilder *builderRT; - nvinfer1::IRuntime *runtimeRT; + //nvinfer1::IBuilder *builderRT; + std::unique_ptr builderRT; + //nvinfer1::IRuntime *runtimeRT; + std::unique_ptr runtimeRT; nvinfer1::INetworkDefinition *networkRT; #if NV_TENSORRT_MAJOR >= 6 nvinfer1::IBuilderConfig *configRT; diff --git a/src/NetworkRT.cpp b/src/NetworkRT.cpp index 4006caf..e6eb778 100644 --- a/src/NetworkRT.cpp +++ b/src/NetworkRT.cpp @@ -33,7 +33,8 @@ NetworkRT::NetworkRT(Network *net, const char *name) { float(NV_TENSORRT_PATCH)/100; std::cout<<"New NetworkRT (TensorRT v"<(createInferBuilder(loggerRT)); + //builderRT = createInferBuilder(loggerRT); std::cout<<"Float16 support: "<platformHasFastFp16()<<"\n"; std::cout<<"Int8 support: "<platformHasFastInt8()<<"\n"; #if NV_TENSORRT_MAJOR >= 5 @@ -630,7 +631,8 @@ bool NetworkRT::deserialize(const char *filename) { } pluginFactory = new PluginFactory(); - runtimeRT = createInferRuntime(loggerRT); + //runtimeRT = createInferRuntime(loggerRT); + runtimeRT = std::unique_ptr(createInferRuntime(loggerRT)); //engineRT = runtimeRT->deserializeCudaEngine(gieModelStream, size, (IPluginFactory *) pluginFactory); engineRT = std::shared_ptr(runtimeRT->deserializeCudaEngine(gieModelStream,size,(IPluginFactory*)pluginFactory),InferDeleter()); //if (gieModelStream) delete [] gieModelStream;