【发布时间】:2018-10-15 22:46:01
【问题描述】:
我正在使用来自谷歌的mobilenet 神经网络对图像进行分类。我正在使用 Angular 6 + TensorFlow.js 来构建我的图像分类器应用程序。
我正在尝试按照tfjs-converter library readme 提供的步骤进行操作,并得出以下代码:
import * as tf from '@tensorflow/tfjs';
import { FrozenModel } from '@tensorflow/tfjs';
export class NeuralNetwork {
private MODEL_PATH: string = 'http://localhost:4200/assets/model/tensorflowjs_model.pb';
private WEIGHTS_PATH: string = 'http://localhost:4200/assets/model/weights_manifest.json';
constructor(){}
async loadModel() {
const localModel: FrozenModel = (await tf.loadFrozenModel(this.MODEL_PATH, this.WEIGHTS_PATH));
let image: any = document.getElementById('cat');
let pixels = tf.fromPixels(image, 1);
let result = localModel.predict(pixels);
}
async predict(){
let image: any = document.getElementById('cat');
debugger;
this.model.execute({input: tf.fromPixels(image)});
}
}
图像 HTML 元素:
<img id="cat" src="http://localhost:4200/assets/images/cat.jpg"/>
当我尝试执行localModel.predict(pixels) 函数时,我收到以下错误:
未捕获(承诺):错误:model.execute(dict) 中提供的 dict['images'] 的形状必须为 [-1,224,224,3],但为 [400,600,1]
我是 TensorFlow 和 TensorFlow.js 技术的新手。有谁知道我做错了什么?
【问题讨论】:
-
它的 TensOrflow,而不是“Tensaflow”。听起来像一些糟糕的说唱歌手哈哈
标签: angular typescript tensorflow tensorflow.js