xinsuinizhuan

Results 143 comments of xinsuinizhuan

> > > 我这默认的线程数是1,你可以尝试别的线程数。 > > > ```c++ > > class LITE_EXPORTS YoloX : public BasicOrtHandler > > { > > public: > > explicit YoloX(const std::string &_onnx_path, unsigned int...

> ```c > ORT_ABORT_ON_ERROR(OrtSessionOptionsAppendExecutionProvider_CUDA(session_options, 0)); > ``` 不对的,我加了这句话后,崩溃: 跟cuda cudnn什么的怎么匹配? ![图片](https://user-images.githubusercontent.com/40679769/127791891-910fbd68-a63f-41fb-8201-64dcc63ef40a.png) ![图片](https://user-images.githubusercontent.com/40679769/127791915-838bd885-4fab-4203-94c7-471d550db3db.png) 加了 / GPU compatiable. 尝试增加以下2句,emmm..... 我没有windows环境,其实没试过 OrtCUDAProviderOptions provider_options; // C接口 session_options.AppendExecutionProvider_CUDA(provider_options); // 1. session ort_session = new Ort::Session(ort_env,...

按照上面那个小伙伴说的:OrtSessionOptionsAppendExecutionProvider_CUDA这个接口没找到,没法用, if (m_gpuIdx != -1) { Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_CUDA(sessionOptions, m_gpuIdx)); } ![图片](https://user-images.githubusercontent.com/40679769/127871823-c963d145-b344-4fd8-92ce-85915a38c0be.png)

我想问一下,模型导出的时候,有没有cpu和gpu之分,导出的cpu模型,gpu不能加载?

我的环境:cuda 11.3 cudnn 8.0.1.6, vs2019 onnxruntime 1.8.1 gpu版本 报错: ![图片](https://user-images.githubusercontent.com/40679769/127872781-7663a821-fba0-4080-aa64-d94093186710.png) ![图片](https://user-images.githubusercontent.com/40679769/127872738-13f21774-cdb3-486a-b0ba-09320ac48eb8.png) 帮忙看看,能不能找到点头绪?

> > > > 我想问一下,模型导出的时候,有没有cpu和gpu之分,导出的cpu模型,gpu不能加载? > > 这个没有cpu和gpu区别的,都是可以用的。你现在用的是GPU版本的库和头文件吗?你直接导入这些头文件试试?onnxruntime_c_api.h已经是被包含在onnxruntime_cxx_api.h里面的, OrtSessionOptionsAppendExecutionProvider_CUDA这个C API应该能找到才对啊。你这有点奇怪 > > ```c++ > #include > #include > ``` https://github.com/microsoft/onnxruntime/releases 我是从这里下载的,这里下载的,貌似就没有cuda那个文件夹

![图片](https://user-images.githubusercontent.com/40679769/127873953-dfe8e4f9-6099-4300-ab0e-8cf9979e9019.png) 显卡

非常感谢,可以了。哎。 头文件添加: #include "onnxruntime_c_api.h" #ifdef USE_CUDA #include "cuda_provider_factory.h" #endif 然后: initialize_handler()中,添加: #ifdef USE_CUDA //OrtCUDAProviderOptions provider_options; // C接口 //session_options.AppendExecutionProvider_CUDA(provider_options); //OrtCUDAProviderOptions options; //options.device_id = 0; //options.arena_extend_strategy = 0; //options.cudnn_conv_algo_search = OrtCudnnConvAlgoSearch::EXHAUSTIVE; //options.do_copy_in_default_stream...

gpu运行时间22ms: ![图片](https://user-images.githubusercontent.com/40679769/127874853-5dde5fc3-e7a9-4ae0-96ba-45d445e27e91.png) cpu运行时间97ms

感谢。感谢。就是,其他两种方式不行,还必须就得OrtSessionOptionsAppendExecutionProvider_CUDA(session_options, 0);