我无法通过 Electron 运行tensorflow.js,请提供帮助。
我所拥有的:
1. Windows 10版本1903
2. python 2.7
3. Node 12.13.1
4. npm 6.13.1
5. node-pre-gyp 0.14.0,全局安装

我做了什么:
1.从 Electron 文档(https://github.com/electron/electron-quick-start)中克隆了 Electron 快速启动。
2.运行npm insntall和npm开始确保一切正常。
3.安装了@ tensorflow/tfjs-node:

npm install @tensorflow/tfjs-node

> @tensorflow/tfjs-node@1.4.0 install C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-node
> node scripts/install.js

CPU-windows-1.4.0.zip
* Downloading libtensorflow
[==============================] 2299069/bps 100% 0.0s
[==============================] 1212292/bps 100% 0.0s
* Building TensorFlow Node.js bindings
+ @tensorflow/tfjs-node@1.4.0
added 74 packages from 48 contributors and audited 256 packages in 30.48s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

4.在preload.js中添加了一行
const tf = require('@tensorflow/tfjs-node');

5.跑npm开始:
npm start

> electron-quick-start@1.0.0 start C:\Users\proxc\Desktop\electron-quick-start-master
> electron .


 node-pre-gyp info This Node instance does not support builds for N-API version 5
node-pre-gyp info This Node instance does not support builds for N-API version 5

并在应用程序控制台中:
Platform browser has already been set. Overwriting the platform with [object Object].
Environment.setPlatform @ C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-core\dist\environment.js:38
init.ts:204 Unable to load preload script: C:\Users\proxc\Desktop\electron-quick-start-master\preload.js
(anonymous) @ init.ts:204
init.ts:205 Error: Cannot find module 'C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-node\lib\napi-v4\tfjs_binding.node'
Require stack:
- C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-node\dist\index.js
- C:\Users\proxc\Desktop\electron-quick-start-master\preload.js
    at Module._resolveFilename (internal/modules/cjs/loader.js:717)
    at Function../lib/common/reset-search-paths.ts.Module._resolveFilename (reset-search-paths.ts:40)
    at Module._load (internal/modules/cjs/loader.js:622)
    at Module._load (electron/js2c/asar.js:717)
    at Function.Module._load (electron/js2c/asar.js:717)
    at Module.require (internal/modules/cjs/loader.js:775)
    at require (internal/modules/cjs/helpers.js:68)
    at Object.<anonymous> (C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-node\dist\index.js:44)
    at Object.<anonymous> (C:\Users\proxc\Desktop\electron-quick-start-master\node_modules\@tensorflow\tfjs-node\dist\index.js:66)
    at Module._compile (internal/modules/cjs/loader.js:880)

我尝试了什么:
1. Node 版本13.3.0
2. npm rebuild @tensorflow/tfjs-node --build-from-source3.删除node_modules并再次运行脚本
4.删除项目,然后重新做一遍

可能很有趣:
1. node_modules\@tensorflow\tfjs-node\lib不包含napi-4,但包含napi-5

最佳答案

Windows上heretfjs-node的构建似乎存在一个已知问题

解决方案是使用 Node 10.16.3并运行以下命令:

npm rebuild @tensorflow/tfjs-node --build-from-source

10-06 03:51