Браузер платформы уже установлен. Перезапись платформы [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());