打包电子应用程序中的 onnxruntime

编程入门 行业动态 更新时间:2024-10-05 07:19:23

打包电子<a href=https://www.elefans.com/category/jswz/34/1771452.html style=应用程序中的 onnxruntime"/>

打包电子应用程序中的 onnxruntime

我正在使用 onnxruntime-node 包在我的电子应用程序中进行推理。我通过“yarn add”安装了 npm 包,在开发中一切都按预期工作。

当我打包电子应用程序时,节点无法找到 onnxruntime-node 导入。

为了解决这个问题,我需要预构建的 onnx 运行时二进制文件。

const ort = require(path.join(`electron-app-dir\\node_modules\\onnxruntime-node\\bin\\napi-v3\\win32\\x64`,'onnxruntime_binding.node'));

这部分解决了问题,因为节点能够找到预构建的二进制文件,但我最终遇到了一个不同的错误:

'TypeError: ort.InferenceSession.create is not a function'

我现在不确定从这里开始。保存目录下有一些.dll作为onnxruntime_binding.node文件。还需要这些吗?

感谢任何帮助解决这个问题的人!

供参考:

const ort = require(path.join(`electron-app-dir\\node_modules\\onnxruntime-node\\bin\\napi-v3\\win32\\x64`,'onnxruntime_binding.node'));

const modelPath =  path.join(__dirname,'model.onnx')

const session = await ort.InferenceSession.create(modelPath);

... 

回答如下:

看来您不能直接引用二进制文件。您始终需要引用节点模块目录。

我最终只是将

onnxruntime-node
模块连同二进制文件一起复制到打包的应用程序资源目录中,这是有效的。

更多推荐

打包电子应用程序中的 onnxruntime

本文发布于:2024-05-31 01:33:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771136.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:应用程序   电子   onnxruntime

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!