Javascript Vue和Tensorflow:将分类器示例保存到localstorage
我正在使用@tensorflow models/knn分类器对我的模型进行分类,并使用@tensorflow models/mobilenet研究新模型Javascript Vue和Tensorflow:将分类器示例保存到localstorage,javascript,tensorflow,vue.js,Javascript,Tensorflow,Vue.js,我正在使用@tensorflow models/knn分类器对我的模型进行分类,并使用@tensorflow models/mobilenet研究新模型 methods: { async init() { // load the load mobilenet and create a KnnClassifier this.classifier = knnClassifier.create(); this.mobilenet = await mobile
methods: {
async init() {
// load the load mobilenet and create a KnnClassifier
this.classifier = knnClassifier.create();
this.mobilenet = await mobilenetModule.load();
},
async addExample() {
let selected = document.getElementById("options");
this.class = selected.options[selected.selectedIndex].value;
const img = tf.browser.fromPixels(this.$children[0].webcam.webcamElement);
const logits = this.mobilenet.infer(img, "conv_preds");
this.classifier.addExample(logits, parseInt(this.class));
}
如何将我添加到分类器中的示例保存到localStorage,然后在init方法中加载它们?因为目前,在页面刷新后,我会丢失所有的模型
抱歉,可能是术语错误,我对Tensorflow js太陌生了。因此,在进行了一些小研究之后,我设法用以下方法保存和加载数据:
async toDatasetObject(dataset) {
const result = await Promise.all(
Object.entries(dataset).map(async ([classId, value]) => {
const data = await value.data();
return {
label: Number(classId),
data: Array.from(data),
shape: value.shape
};
})
);
return result;
},
fromDatasetObject(datasetObject) {
return Object.entries(datasetObject).reduce(
(result, [indexString, { data, shape }]) => {
const tensor = tf.tensor2d(data, shape);
const index = Number(indexString);
result[index] = tensor;
return result;
},
{}
);
},
然后我就加载它:
this.classifier.setClassifierDataset(
this.fromDatasetObject(JSON.parse(localStorage.getItem("my-data")))
);
你试过localStorage.setItem吗?@DaniyalLukmanov我认为knn分类器中应该有一些方法来保存整个模型,然后正确加载。也许有,我不知道。但是您可以对本地本地存储方法执行相同的操作。