Uncaught (in promise) TypeError: net.classify is not a function

时间:2021-06-03 05:22:43

标签: javascript tensorflow tensorflow.js

我已经阅读了几个与此类问题/问题相关的答案,但没有任何效果。 我有用于加载和预测张量流模型的 javascript。

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 个答案:

答案 0 :(得分:0)

你需要做的是把它转换成张量,把“classify”方法改成“predict”方法

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();