Браузер платформы уже установлен. Перезапись платформы [object Object]. при использовании tfjs-node в электронном приложении

Браузер платформы уже установлен. Перезапись платформы [object Object].

Ошибка при попытке загрузить файл с tfjs-node в качестве импорта:

const tf = require('@tensorflow/tfjs-node');

Это происходит только в электронных файлах, загружаемых браузером. Я могу настроить его так, чтобы "сценарий, загруженный браузером".js отправлял запрос в main.js, который отправлял запрос на "файл с tfjs-node".js, и он работал нормально.

Интересно, есть ли способ загружать файлы напрямую без промежуточных запросов

"dependencies": {
    "@tensorflow/tfjs-node": "^1.2.3",
    "cmake-js": "^6.0.0",
    "electron-reload": "^1.5.0",
    "esm": "^3.2.25",
    "file-saver": "^2.0.2",
    "fs-jetpack": "^2.1.0",
    "iohook": "^0.6.5",
    "jimp": "^0.9.3",
    "jquery": "^3.4.1",
    "keypress": "^0.2.1",
    "node-fetch": "^2.6.0",
    "node-png": "^0.4.3",
    "parse-full-name": "^1.2.4",
    "requirejs": "^2.3.6",
    "robotjs": "^0.6.0",
    "statman-stopwatch": "^2.11.1",
    "tesseract.js": "^2.0.2"
  },

2 ответа

У меня была такая же проблема, когда я использовал на своем устройстве пакет tfjs-react-native. Мое приложение только что закрывалось, когда я пытался использовать что-то из этого пакета. В консоли было только предупреждение "Браузер платформы уже установлен. Перезапись платформы с помощью [object Object]".

Это было решено установкой backend перед использованием tfjs-react-native. Может, и тебе это поможет.

await tf.setBackend('cpu');

TensorflowJS автоматически выбирает лучший бэкэнд для обработки. Вы можете специально использовать -
Web / Electron -

 await tf.setBackend('wasm');

или

await tf.setBackend('cpu');

перед

tf.ready()

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

console.log(tf.getBackend());

ссылка

Другие вопросы по тегам