应用程序中的 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
发布评论