Tensorflow JS & Electron Forge - Ошибка при импорте tenorflow js после npm run make - PullRequest
0 голосов
/ 14 апреля 2020

Я создал это маленькое приложение с tenorflow js. Я могу отлично запустить его на Windows 10, используя npm start, однако после успешного запуска npm run make становится невозможным импортировать тензор потока. Я получаю следующую ошибку:

Uncaught Error: The specified module could not be found. \\?\C:\Users\teste\AppData\Local\my-app\app-1.0.0\resources\app.asar.unpacked\node_modules\@tensorflow\tfjs-node\lib\napi-v5\tfjs_binding.node
    at process.func (electron/js2c/asar.js:140)
    at process.func [as dlopen] (electron/js2c/asar.js:140)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1016)
    at Object.func (electron/js2c/asar.js:140)
    at Object.func [as .node] (electron/js2c/asar.js:149)
    at Module.load (internal/modules/cjs/loader.js:816)
    at Module._load (internal/modules/cjs/loader.js:728)
    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:853)

Когда я go до C:\Users\teste\AppData\Local\my-app\app-1.0.0\resources\app.asar.unpacked\node_modules\@tensorflow\tfjs-node\lib\napi-v5\tfjs_binding.node файл там и идеально доступен

Я работаю windows 10, узел v12.13.0, электрон 8.2.1 с электронной кузницей

Моя посылка. json это:

{
  "name": "my-app",
  "productName": "my-app",
  "version": "1.0.0",
  "description": "My Electron application description",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish",
    "lint": "echo \"No linting configured\"",
    "install": "electron-rebuild --pre-gyp-fix"
  },
  "keywords": [],
  "author": "guzeda",
  "license": "MIT",
  "config": {
    "forge": "./forge.config.js"
  },
  "dependencies": {
    "@electron-forge/plugin-auto-unpack-natives": "^6.0.0-beta.50",
    "@tensorflow/tfjs": "^1.5.1",
    "@tensorflow/tfjs-node": "^1.5.1",
    "electron-reload": "^1.5.0",
    "electron-squirrel-startup": "^1.0.0",
    "face-api.js": "^0.22.2",
    "jquery": "^3.4.1",
    "material-design-lite": "^1.3.0"
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.50",
    "@electron-forge/maker-deb": "^6.0.0-beta.50",
    "@electron-forge/maker-rpm": "^6.0.0-beta.50",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.50",
    "@electron-forge/maker-zip": "^6.0.0-beta.50",
    "electron": "8.2.1",
    "electron-rebuild": "^1.10.1"
  }
}

Моя подделка :config:

module.exports = {
    makers: [
        {
            name: '@electron-forge/maker-squirrel',
            config: {
                name: "my-app"
            }
        }
    ],
    plugins: [
        ['@electron-forge/plugin-auto-unpack-natives']
    ],
    packagerConfig:{asar:true}
}

Я ценю любую помощь

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Просто дважды проверил ваш код - это было связано с вашей структурой папок.

Почему вы используете tenorflow. js вместо python и др., Если я могу спросить?

0 голосов
/ 17 апреля 2020

Я только что нашел решение. Это произошло из-за того, что dll должна находиться в той же папке, что и buddings. Сообщение об ошибке очень вводило в заблуждение.

В конце было необходимо написать сценарий после установки, чтобы скопировать правильный dll в папку, и он работал отлично

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...