#javascript #tensorflow #tensorflow.js
Вопрос:
Я прочитал несколько ответов, связанных с такого рода вопросами/проблемами, и ничего не работает. У меня есть javascript для загрузки и прогнозирования модели tensorflow.
let net;
async function app() {
console.log('Loading model...');
net = await tf.loadLayersModel('path/to/model.json');
console.log('Successfully loaded model');
const imgEl = document.getElementById('img');
const result = await net.classify(imgEl);
console.log(result);
}
app();
и в результате эта ошибка
Uncaught (in promise) TypeError: net.classify is not a function
есть ли какой-нибудь способ преодолеть эту ситуацию?
Комментарии:
1. Похоже
classify
, что это не метод для моделей тензорного потока: js.tensorflow.org/api/latest/#class:LayersModel2. Я использую метод классификации при использовании модели mobilenet без проблем.
Ответ №1:
Что вам нужно сделать, это преобразовать его в тензор и изменить метод «классифицировать» на метод «прогнозировать» .
async function app() {
console.log('Loading Model...');
const model = await tf.loadLayersModel('path/to/model.json');
console.log('Successfully loaded model');
const imgEl = document.getElementById('img');
let tensor = tf.browser.fromPixels(imgEl)
.resizeNearestNeighbor([299, 299])
.toFloat()
.expandDims();
let predictions = await model.predict(tensor).data();
console.log(predictions)
}
app();