我有一个项目,其中用户可以绘制某些东西,而应用程序可以预测用户绘制了什么。为此,我使用tensorflow.js。模型及其碎片(权重)托管在某些服务器中。
现在,该项目由Firebase托管,并且也已部署到android或iOS设备。
为了预测,从网站获取模型时没有错误,一切正常。但是,当应用程序部署到设备(Android或iOS)中时,会弹出以下错误:Failed to fetch
。
到目前为止,这是我的代码:
import * as tf from '@tensorflow/tfjs';
const modelURL = 'https://somesite.com/model.json';
this._model = await tf.loadLayersModel(modelURL);
const output: any = this._model.predict(someImg);
const result = output.argMax(1).dataSync()[0];
在上面的代码中,在设备上发生读取错误,而在浏览器上则没有。我也尝试过使用tfjs-node来避免获取错误:
import * as tf from '@tensorflow/tfjs-node';
const modelURL = 'https://somesite.com/model.json';
this._model = await tf.loadLayersModel(modelURL);
const output: any = this._model.predict(img);
const result = output.argMax(1).dataSync()[0];
但是,每当我尝试加载模型时,都会出现以下错误:the original argument must be of type function
。我尝试使用const tf = require('@tensorflow/tfjs-node')
来不同地导入tfjs-node,但是相同的错误不断弹出。
您是否对获取模型或使用tfjs-node以便从设备加载模型有什么问题有任何想法?