还有半小时开启深度学习的大門就在 SF 讲堂,由浙江财经大学数据分析和大数据计算客座教授德国不莱梅大学数学博士 Christoph 带来的讲座,讲座传送门: ??? 近年来深度學习已经带动了机器学习的革命性进展:用于...
还有半小时开启深度学习的大門就在 SF 讲堂,由浙江财经大学数据分析和大数据计算客座教授德国不莱梅大学数学博士 Christoph 带来的讲座,讲座传送门: ??? 近年来深度學习已经带动了机器学习的革命性进展:用于...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
如上代码存储平均图像为 mean_array 通过讀取部署文件和训练模型定义模型叫做 net ,然后定义变换应用到测试图像。
如上代码读取图像应用与训练阶段相似的图像处理步骤,计算每个类的概率并打印最大概率的类0=猫,1=狗
之后提交预测结果到Kaggle,给出精度为0.89691
本节使用一个强大而实用的技术叫做Transfer Learning来构建我们的猫狗分类器。
CNN需要大量的数据集和大量的计算时间来训练一些网络可能需要2-3周,以及多个GPU来训练传输学习则是解决这两个问题的办法。與其从头训练网络传输学习使用已经训练的模型和不同的数据集,并适应更多要解决的问题
传输学习的细节解释参见 。
Caffe自带了版本库给研究者和機器学习实践者来共享训练过的模型叫做 Model Zoo: 。
我们可以使用传输学习将训练过的 bvlc_reference_caffenet 作为起点来构建我们的猫狗分类器。这个模型是在ImageNet上訓练过的
我们使用调优策略来训练模型。
现在我们保持层的名字不变,並传入训练过的模型权重到Caffe就会选择从训练过的模型载入权重。如果我们想要冻结层就需要设置他的 lr_mult 参数为0。
定义好模型和Solver后可以開始训练。注意我们传递训练过的模型权重作为 --weights 参数:
类似于之前的章节我们绘制学习曲线。可以看到在1000次迭代后模型的精度就达到了97%。这展示了传输学习的力量我们可以在更小的迭代就获得类似的准确率:
模型的精度达到了0.97154,比之前从头训练的还好
本文覆盖了深度学習和CNN的核心概念。也学习了如何使用Caffe和Python来从头构建CNN以及使用Transfer Learning。如果想要了解更多强烈推荐Stanford的CNN视觉识别: 。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。