找回密码
 会员注册
查看: 31|回复: 0

pyinstaller打包onnxruntime-gpu报错找不到CUDA的解决方案

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
65016
发表于 2024-9-4 11:38:22 | 显示全部楼层 |阅读模式
问题说明:使用onnxruntime-gpu完成了深度学习模型部署,但在打包时发生了报错:找不到CUDA具体问题描述:RuntimeError:\a\_work\1\s\onnxruntime\python\onnxruntime_pybind_state.cc:857onnxruntime::python::CreateExecutionProviderInstanceCUDA_PATHissetbutCUDAwasntabletobeloaded.PleaseinstallthecorrectversionofCUDAandcuDNNasmentionedintheGPUrequirementspage (https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#requirements), makesurethey'reinthePATH,andthatyourGPUissupported前提:1、确保你的GPU受CUDA支持,并且驱动程序已正确安装2、电脑上已经安装与onnxruntime-gpu对应版本的cuda和cudnn,并加入了环境变量3、打包之前可以正常运行解决方案onnxruntime-gpu 依赖于一些动态链接库,这些库可能不会被 pyinstaller 自动检测到。你可以创建一个自定义的 hook-onnxruntime.py 文件来帮助 pyinstaller 正确识别 onnxruntime-gpu 的依赖项。在项目目录下,创建一个hook-onnxruntime.py文件,并加入以下代码:fromPyInstaller.utils.hooksimportcollect_dynamic_libshiddenimports=['onnxruntime','onnxruntime.capi','onnxruntime.capi.onnxruntime_pybind11_state']binaries=collect_dynamic_libs('onnxruntime')然后在pyinstaller命令中,使用:pyinstaller--onefile--additional-hooks-dir=.-wmain.py--onefile:将所有的文件和依赖打包成一个单独的可执行文件--additional-hooks-dir=.:指定一个额外的目录,pyinstaller 会在这个目录中查找自定义的钩子(hooks)文件。钩子文件用于在打包过程中处理一些特殊的依赖或行为。. 表示当前目录,即在当前目录中查找钩子文件-wmain.py:指定需要打包的py文件,不带控制台窗口打包pyinstaller常用命令参数基本参数-For--onefile:将所有内容打包成一个单独的可执行文件-Dor--onedir:将所有内容打包成一个目录-wor--windowedor--noconsole:对于Windows和MacOSX,不带控制台窗口打包添加数据文件--add-data:添加额外的数据文件到打包的应用程序中;在Windows上使用;分隔,在Unix上使用 : 分隔,例如:pyinstaller--add-data"data/file.txt;data"--add-binary:添加二进制文件到打包的应用程序中,例:pyinstaller--add-binary"/path/to/binary;bin"--icon:设置可执行文件的图标--version:添加版本信息文件--hidden-import:指定在脚本中没有直接导入的模块--exclude-module:排除指定的模块其他参数-nor--name:指定生成的可执行文件的名称--clean:在构建之前清理PyInstaller缓存和临时文件--key:使用指定的密钥对Python字节码进行加密
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-29 12:58 , Processed in 2.359859 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表