Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue和Tensorflow:将分类器示例保存到localstorage_Javascript_Tensorflow_Vue.js - Fatal编程技术网

Javascript Vue和Tensorflow:将分类器示例保存到localstorage

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

我正在使用@tensorflow models/knn分类器对我的模型进行分类,并使用@tensorflow models/mobilenet研究新模型

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分类器中应该有一些方法来保存整个模型,然后正确加载。也许有,我不知道。但是您可以对本地本地存储方法执行相同的操作。