Ошибка Handpose tfjs - бэкэнд не найден в реестре

При попытке запустить демонстрационный проект для Handpose tfjs я получаю следующую ошибку.

Мой файл package.json имеет следующие зависимости:

{
"name": "tensorflowJs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
  "watch": "cross-env NODE_ENV=development parcel index.html --no-hmr ",
  "build": "cross-env NODE_ENV=production parcel build index.html --public-url ./"
 },
"browser": {
"crypto": false
 },
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
  "@tensorflow-models/handpose": "0.0.4",
  "@tensorflow/tfjs-backend-wasm": "^2.0.0",
  "@tensorflow/tfjs-converter": "^1.7.4",
  "@tensorflow/tfjs-core": "^2.0.0",
  "@tensorflow/tfjs-node": "^2.0.0",
  "bootstrap": "^4.5.0",
  "cross-env": "^7.0.2"
 },
"devDependencies": {
  "@babel/cli": "^7.10.1",
  "@babel/core": "^7.10.2",
  "@babel/plugin-transform-runtime": "^7.10.1",
  "@babel/polyfill": "^7.10.1",
  "@babel/preset-env": "^7.10.2",
  "babel-preset-env": "^1.7.0",
  "parcel-bundler": "^1.12.4"
 }
}

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

6 ответов

Решение
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgl"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/handpose"></script>

Tensorflow выпустил 2.0.0, и теперь вы должны выбрать либо tfjs-backend-webgl, tfjs-backend-cpu, либо tfjs-backend-wasm для запуска вашей модели. Вы используете handpose, и для этого вам следует использовать webgl.

Я по ошибке придумал свою собственную строку импорта:

      import backend from '@tensorflow/tfjs-backend-webgl'

Правильная версия:

      import '@tensorflow/tfjs-backend-webgl';

У меня была такая же ошибка: "В реестре не найдено серверной части", но в моем случае я работал с @tensorflow-models/blazeface модель и приложение для реакции. Я установил @tensorflow/tfjs-converter и @tensorflow/tfjs-coreпоскольку ссылка Readme на Github Readme предлагала, но я все еще получал ошибку. Затем я решил свою проблему, перейдя к index.html в общей папке приложения для реагирования, и добавил следующие скрипты в конец файла.

       <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgl"></script>

Удачи

У меня это сработало после того, как я добавил в проект эти два пакета:

      import '@tensorflow/tfjs-backend-cpu';
import '@tensorflow/tfjs-backend-webgl';

Я пробовал все решения здесь и решения в сети: в течение нескольких дней. Затем мне пришло в голову: большинство этих проблем в этих случаях связаны с версиями .

Затем я просто скопировал рабочую версию найденного в сети приложения, и оно отлично работает. Окончательное обучение: кажется, проблема с версиями.

      "@tensorflow-models/mobilenet": "1.0.1",//this one you should fix, the issue is here
"@tensorflow/tfjs": "2.0.0",//tested, you can install the latest version

Не уверен, что у нас есть лучшее решение, но оно работает просто отлично!

Для меня решением было дождаться готовности tf:

      tf.ready().then(_ => {
  //Code here
})
Другие вопросы по тегам