
除此之外,日记中输出的其他信息也可以被不雅察分析,比方说测试环节的精确度等,它们也可以经由过程膳绫擎的办法解析出来。因为采取的办法基本相同,这里有不去赘述了,各位可以自行测验测验。
正常练习过程中,日记里只会显示每一组迭代后模型练习的┞符体信息,如不雅想要懂得更多具体的信息,就要将solver.prototxt中的调试信息打开,如许就可以获得更多有效的信息供大年夜家分析:
- debug_info:true
调试信息打开后,每一组迭代后每一层收集的前向后向计算过程中的具体信息都可以被不雅测到。这里朝长进步个一一组迭代后的日记信息展示出来:
如不雅想要对收集的表示做更多地懂得,那么分析这些内容必弗成少。
5. 猜测考验与分析
6. 机能测试
模型完成练习后,就要对它的练习表示做验证,看看它在其他测试数据集上的┞俘确性。Caffe供给了别的一个功能用于输出测试的结不雅。以下就是它的脚本:
脚本的输出结不雅如下所示:
履行敕令后Caffe会像往常一样开端练习并输出大年夜量日记,然则在完成初始化之后,它会输出如许一条日记:
除了完成测试的验证,有时大年夜家还须要知道模型更多的运算细节,这就须要深刻模型内部去不雅察模型产生的中心结不雅。应用Caffe供给的饰辞,每一层收集输出的中心结不雅都可以用可视化的办法显示出来,供大年夜家不雅测、分析模型每一层的感化。个中的代码如下所示:
履行膳绫擎的代码就可以生成如图2到图5这几张图像,它们各代表一个模型层的输出图像:
这一组图展示了卷积神经收集是若何把一个数字改变成特点编码的。如许的办法固然可以很好地看到模型内部的表示,比方说conv1的结不雅图中有的提取了数字的界线,有的明白了前景像素地点的地位,这个现象和第3章中举例的卷积效不雅有几分类似。然则到了conv2的结不雅图中,模型的输出就变得让人有些看不懂了。实际上想要真正看懂这些图像想表达的内容确切有些艰苦的。
除了在测试数据上的精确率,模型的运行时光也异常值得关怀。如不雅模型的运行时光太长,甚至到了弗采取的程度,那么即使它精度很高也没有实际意义。测试时光的脚本如下所示:
Caffe会正常的完成前向后向的计算,并记录个中的时光。以下是使一次测试结不雅的时光记录:
可以看出在机能测试的过程中,Lenet模型只须要不到1毫秒的时光就可以完成前向计算,这个速度照样很快的。当然这是在一个相对不错的GPU上运行的,那么如不雅在一个前提差的GPU上运行,结不雅若何呢?
可以看到不合的情况对于模型运行的时光影响很大年夜。
以上就是模型练习的一个完全过程。如今信赖大年夜家对深度进修模型的练习和应用有了根本的懂得。实际上看到这里大年夜家甚至可以扔下书去亲自实践不合模型的效不雅,开端深度进修的拭魅战之旅。
最后放一张Caffe源代码的架构图,以便利大年夜家研究Caffe源码。
作者介绍冯超,卒业于中国科学院大年夜学,现就职于猿指导公司,大年夜事视觉与深度进修的应悠揭捉?究工作。自2016年起在知乎开设了本身的专栏——《无痛的机械进修》(https://zhuanlan.zhihu.com/hsmyy),揭橥一些机械进修和深度进修的文┞仿,收到了不错的反响。
推荐阅读
(机械进修是一个大年夜范畴。本文侧重的范畴是深度进修——这是我最熟悉的一个分区。)在研究兴趣方面,我们看到的是 1)风格转换、2) 深度强化进修、3) 神经收集机械翻译 (&ldqu>>>详细阅读
本文标题:Caffe的深度学习训练全过程
地址:http://www.17bianji.com/lsqh/34962.html
1/2 1