美文网首页
tfjs knn保存训练数据

tfjs knn保存训练数据

作者: 与时间赛跑_ | 来源:发表于2019-04-04 20:59 被阅读0次

如果你花了很长时间去训练一个东西,你一不小心关闭了。那么结果会怎么样?

----会崩溃。

今天看了knnclassfly的git的原码,发现根本没有保存训练数据的任何方法,这就很可怕了,因为如果在没有库的支持下,自己操作这些大维度和大量的数据感觉是非常可怕很有风险的。

如果,你需要保存自己的训练数据,然后在下一次打开的时候直接加载的话,你就必须自主的操作这些训练数据了。经过在网上的一顿折腾,不过很庆幸,借助下列的方法,实先训练数据重新加载:

getClassifierDataset(): {[classId: number]: Tensor2D}

setClassifierDataset(classDatasetMatrices: {[classId: number]: Tensor2D})

虽然在未来的版本中存储训练数据是必然会被添加的,如ML5JS。

不过在开始之前,我建议打印出你的训练数据,(注意shape)这在后面加载数据中很有参考意义。

写一个方法用于保存训练数据:

saveData(){

let dataset=this.knn.getClassifierDataset();

//获取knn所有Example的'训练数据',他们都是矩阵.

var datasetObj={};

Object.keys(dataset).forEach((key)=>{

//枚举出所有key,相当于for ... in..

  let data=dataset[key].dataSync();//同步获取tensor的值datasetObj[key]=Array.from(data);

});

let jsonStr=JSON.stringify(datasetObj);

//建议这个把他们转换成str类型去存储,因为他们数据一般有事有点分量的,这样也可以保证在数据传递的时候不会被改变类型,比如路由传值。

//当然对于这些数据操作一般都是写入到文件。

//....do something

  // localStorage.setItem("mydb",jsonStr);

}

加载数据:

load(){

let dataset=//你数据源获取方法

let tensorObj=JSON.parse(dataset);

Object.keys(tensorObj).forEach((key)=>{

//1024也不是随便给的  这里就要集合上面输入的key来看了。

console.log(tensorObj[key].length/1024);

tensorObj[key]=tf.tensor(tensorObj[key],[Math.floor(tensorObj[key].length/1024),1024]);

});

//载入

this.knn.setClassifierDataset(tensorObj);

}

好了,现在可以开开心心,快快乐了,高高兴兴,活蹦乱跳的玩耍了.......

(最近感觉做烂了许多东西.....)

相关文章

  • tfjs knn保存训练数据

    如果你花了很长时间去训练一个东西,你一不小心关闭了。那么结果会怎么样? ----会崩溃。 今天看了knnclass...

  • 高数没用?看看机器学习的公式,验证下微积分都还给老师没

    KNN分类 K-近邻算法,把数据集分为训练数据集和测试数据集,用训练数据集导入KNN,对于一个数据向量,计算此数据...

  • 机器学习

    1.KNN 一个小栗子 实现sklearn中的knn 将数据分为测试数据和训练数据 iris的分类: 数据归一化:...

  • KNN

    1. KNN基本思想 KNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于...

  • Digital Recognizer-KNN手写数字识别

    KNN描述 KNN邻近算法是简单的分类与回归方法,属于监督学习,也属于懒散学习法。给定一个训练集(包括训练数据和训...

  • 使用body-fix识别人物+人物遮盖弹幕

    使用前准备; 图片自己找个带人物的图片; 下面地址打开保存为 tfjs.jshttps://cdn.jsdeliv...

  • KNN算法基础

    KNN算法 k-近邻算法(kNN), 它的⼯作原理是:存在⼀个样本数据集合, 也称作训练样本集, 并且样本集中每个...

  • KNN 算法的理解

    KNN算法--投票猜党派 KNN分类方法可以理解为投票法。把训练数据集当做选民,K值当做这些选民所拥有的选票。现在...

  • 分类算法之K最近邻算法(KNN)的python实现

    分类算法之K最近邻算法(KNN)的Python实现 KNN的定义 所谓K近邻算法,即是给定一个训练数据集,对新的输...

  • [机器学习算法]k近邻和kd树

    引言 k近邻算法(k-Nearest Neighbor,简称kNN):给定一个训练数据集,对于新的输入实例,在训练...

网友评论

      本文标题:tfjs knn保存训练数据

      本文链接:https://www.haomeiwen.com/subject/jzfciqtx.html