在训练过程中,tf.train.Saver()通常不会将权重数据保存在计算图中,反而是分开保存在checkpoint检查点文件里,当模型初始化时,通过模型文件里的变量Op节点来从checkoupoint文件读取数据并初始化变量。这种模型和权重数据分开保存的情况,在产品使用时为了恢复模型需要额外计算,所以便有了freeze_graph.py脚本文件用来将计算图和权重合二为一,减少对边缘设备的性能要求。

继续阅读

        第一次接触机器学习,训练和测试网上都有大把的教程,但是当我需要使用模型进行预测的时候,却遇到了一些麻烦,在这里就把自己的一部分总结写下来。注意这里是将训练好的神经网络拿出来进行预测(使用),而不是测试,测试可与训练在一个文件中进行,当然也可像这样载入网络和训练数据来测试。

        一般来说,TensorFlow对数据集的训练和测试都会同时进行,但是在实际中使用的时候,受限于实际使用算法的机器性能,我们不会重复进行训练,而是将TensorFlow在高性能平台训练后的模型保存下来,只在边缘设备上加载模型并进行预测,大大减少了对机器性能的需求。

继续阅读

        首先要明白”范式(NF)”是什么意思。按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等。数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。一般在我们设计关系型数据库的时候,最多考虑到BCNF就够。符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。
恭喜你发现了一个彩蛋

继续阅读