我尝试在ionic中使用tensorflowjs。在从python转换现有模型,然后从ionic导入后,它只在我的本地服务器(http://localhost:8100/ionic-lab)上运行时才起作用。
然而,当我为android tf.loadModel方法构建项目不工作时,它无法从本地文件夹加载模型(即。资产/模型)
我已经检查了这个链接Tensorflow.js with react-native ,但它没有帮助。我猜,许多混合移动应用程序框架几乎都是同一条线。任何建议和建议都将不胜感激。
import {Component} from '@angular/core';
import {IonicPage, AlertController} from 'ionic-angular';
import {HttpClient} from "@angular/common/http";
import * as tf from "@tensorflow/tfjs";
@IonicPage()
@Component({
selector: 'page-tfpretrainedversion',
templateUrl: 'tfpretrainedversion.html',
})
export class TfpretrainedversionPage {
kerasTraindedModel: tf.Model;
KERAS_MODEL_JSON = 'assets/model/model.json';
constructor(private httpClient: HttpClient,
private alertCtrl: AlertController) {
this.loadPretrainedModel();
}
loadPretrainedModel() {
tf.loadModel(this.KERAS_MODEL_JSON)
.then((result) => {
this.kerasTraindedModel = result;
})
.catch((error)=>{
let prompt = this.alertCtrl.create({
title: 'Error',
subTitle: error,
buttons: ['OK']
});
prompt.present();
});
}
}这是一条错误消息Failed to fetch
这是一个项目结构Project structure
发布于 2019-03-23 03:08:15
TensorflowJs通过fetch()加载模型。fetch()不支持加载本地文件。https://fetch.spec.whatwg.org/
我的解决方法:
使用polyfill (https://github.com/github/fetch)并替换fetch。
window.fetch = fetchPolyfill;现在,可以加载本地文件(像这样的file:///):
const modelUrl = './model.json'
const model = await tf.loadGraphModel(modelUrl);https://stackoverflow.com/questions/50224003
复制相似问题