Javascript tf.browser.fromPixels从img元素返回所有零

Javascript tf.browser.fromPixels从img元素返回所有零,javascript,html,tensorflow.js,Javascript,Html,Tensorflow.js,我正在使用tensorflowjs进行一些前端图像分类。我想用它把一个img元素转换成张量。然而,我得到了形状的所有零[160,160,3]。我正在使用FileReaderapi通过元素从文件系统读取图像。下面是一些代码: function getFiles(event) { const files = event.target.files; let tempStore = []; for (let i = 0; i < files.length; ++i) { tem

我正在使用
tensorflowjs
进行一些前端图像分类。我想用它把一个img元素转换成张量。然而,我得到了形状的所有零
[160,160,3]
。我正在使用
FileReader
api通过
元素从文件系统读取图像。下面是一些代码:

function getFiles(event) {
  const files = event.target.files;
  let tempStore = [];
  for (let i = 0; i < files.length; ++i) {
    tempStore.push(files[i]);
  }
  return tempStore;
}
图像被正确地附加到文档正文中。 imageElement的形式如下:

当尚未加载
img
标记时,您正在从图像创建张量。走这条路

  imgEl.src = e.target.result;
  imgEl.setAttribute("width", 160);
  imgEl.setAttribute("height", 160);
  document.body.append(imgEl);
  im.onload = () => {
   // create the tensor after the image has loaded
    const fromPixels = tf.browser.fromPixels(imgEl);
    resolve(fromPixels);
  }
const loadImg = imgFile => {
  return new Promise((resolve, reject) => {
    let reader = new FileReader();
    let imgEl = document.createElement("img");
    reader.onload = async e => {
      imgEl.src = e.target.result;
      imgEl.setAttribute("width", 160);
      imgEl.setAttribute("height", 160);
      document.body.append(imgEl);
      const fromPixels = tf.browser.fromPixels(imgEl);
      resolve(fromPixels);
    };
    reader.onerror = reject;
    reader.readAsDataURL(imgFile);
  });
};
  imgEl.src = e.target.result;
  imgEl.setAttribute("width", 160);
  imgEl.setAttribute("height", 160);
  document.body.append(imgEl);
  im.onload = () => {
   // create the tensor after the image has loaded
    const fromPixels = tf.browser.fromPixels(imgEl);
    resolve(fromPixels);
  }