本文主要是介绍Pytorch添加自定义算子之(12)-开闭原则设计tensorrt和onnxruntime推理语义分割模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、开闭原则
开闭原则是SOLID原则中的一个,指的是尽量使用开放扩展,关闭修改的设计原则。
在C++中如何使用开闭原则导出动态库,可以按照以下步骤进行:
-
定义抽象基类:定义动态库中的抽象基类,该基类应该封装可扩展的接口。
-
实现派生类:实现基类的派生类,这些派生类将封装对应的扩展接口。
-
将派生类编译为动态库:将所有派生类编译为动态库(DLL)。
-
使用动态库:在使用动态库的代码中,只需包含抽象基类的头文件,以及动态库的导入库。然后通过运行时加载DLL来访问派生类的实现。
这种方法的优点在于,对于新增的扩展,只需要编写一个新的派生类,并将其编译为动态库即可。不需要修改现有的代码,从而满足了开闭原则的要求。
二、确定语义分割输入输出
opencv环境参考,tensorrt环境参考
onnxruntime为:
onnxruntime-win-x64-gpu-1.14.1 与上文有点出入,可以采用GPU进行推理。
输入:一个输
这篇关于Pytorch添加自定义算子之(12)-开闭原则设计tensorrt和onnxruntime推理语义分割模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!