我正在尝试在支持 GPU 的电子中使用 webnn 如果我使用最新的 chrome,示例可以在我的机器中正确运行 但在基于电子的应用程序中,window.ml 不存在
我已经尝试了所有方法来启用它:
app.commandLine.appendSwitch('enable-blink-features', 'WebNN');
app.commandLine.appendSwitch('enable-webnn')`
enableBlinkFeatures: "WebNN",
enableBlinkFeatures: [
"experimental-web-machine-learning-neural-network",
"web-machine-learning-neural-network"
]
有什么建议吗?
这不是一个完整的解决方案,而是对如何(希望)实现这一解决方案的解释。
最有可能的是,
window.ml
已可用,但仅在预加载脚本中可用。
您可以尝试禁用
sandbox
并启用nodeIntegration
来证明window.ml
随后变得可用。如果是这样,那么您需要在预加载脚本中执行相关逻辑。 查看文档
还要确保在
app.commandLine.appendSwitch
发生之前调用 app.whenReady
。我建议在运行 Electron 时直接传递 CLI 参数进行测试,而不是通过 app.commandLine
来完全确保它被正确应用。
请勿在生产中使用
nodeIntegration: true
- 如果证明这可以使 window.ml
可用,请改用预加载。