caffe图像分类教程_跟我上手深度学习: 五分钟尝试第一个深度学习(Caffe)训练和图像分类(详细图文步骤)...
申请深度学习的开发环境
Supervessel超能云(www.ptopenlab.com)上可以免费申请深度学习的开发环境。用户可以免费注册一个用户帐号,无须任何信用卡信息,就可以申请。
申请了用户帐号后,进入“Supervessel Cloud”申请虚拟机“Apply VM"。如下图:
登陆之后,进入云平台的控制台(dashboard),选择界面顶部的“More services”,出现"Market Image"的选项,如下图:
进入“Market Image"之后,选择“深度学习”类型下的“GPU Accelerated Caffe Deep Learning Development Environment", 如下图:
点击“Details”,即会弹出对话框,确认要启动一个新的带GPU加速的Caffe深度学习开发环境(容器)。大概过1到2分钟,用户的控制台就可以显示这个新的容器(docker)。在最左边的按钮“More actions"下拉,可以选择“Console“,来进入基于网页的容器登陆环境。或用户可以使用VPN来使用别的ssh终端软件(如putty)进行登陆。关于如何安装和配置VPN,详见以下链接:https://services.ptopenlab.com/mediawiki/index.php/VPN%E7%9A%84%E4%BD%BF%E7%94%A8/en
初次登陆该深度学习容器,系统会强制用户更改用户密码(帐号为opuser,密码查看控制台信息)和root的用户密码(密码查看控制台信息)。至此,准备环境就绪。
深度学习模型训练
在这一部分,我们将以CIFAR10为例子,来给大家介绍如何用Caffe进行最简单的深度学习模型训练。CIFAR10和CIFAR100是很有名并被广泛使用的图像数据集。CIFAR10相对比较简单,是由60000张32X32像素的彩色图片组成,分为10类,每类含6000张图片。这10类图片分别是飞机、车、鸟、猫、鹿、狗、青蛙、马、船和卡车。
我们要做的第一步是下载训练的CIFAR10数据集。在容器中,切换到root权限,执行如下命令:
cd /home/opuser/caffe-master-20150813
./data/cifar10/get_cifar10.sh
get_cifar10.sh就是执行数据集下载的脚本,整个数据集大概100多兆。接着执行:
./examples/cifar10/create_cifar10.sh
create_cifar10.sh是对数据集进行预处理,以便能被Caffe直接处理,并计算数据集的均值。
之后,执行如下命令就可以开始进行模型训练了:
./examples/cifar10/train_quick.sh
在train_quick.sh这个脚本中,主要的输入是 examples/cifar10/cifar10_quick_solver.prototxt 这个文件。这是对这个模型的配置文件,内容如下:
# The train/test net protocol buffer definition
net: "examples/cifar10/cifar10_quick_train_test.prototxt"
# test_iter specifies how many forward passes the test should carry out.
# In the case of MNIST, we have test batch size 100 and 100 test iterations,
# covering the full 10,000 testing images.
test_iter: 100
# Carry out testing every 500 training iterations.
test_interval: 500
# The base learning rate, momentum and the weight decay of the network.
base_lr: 0.001
momentum: 0.9
weight_decay: 0.004
# The learning rate policy
lr_policy: "fixed"
# Display every 100 iterations
display: 100
# The maximum number of iterations
max_iter: 4000
# snapshot intermediate results
snapshot: 4000
snapshot_prefix: "examples/cifar10/cifar10_quick"
# solver mode: CPU or GPU
solver_mode: GPU
该文件定义了深度神经网络的文件 cifar10_quick_train_test.prototxt,迭代次数4000,以及使用GPU进行模型训练等重要参数。
在模型训练的过程中,每迭代100次,会打印一次输出结果。直到最后输出:
Snapshotting to binary proto file examples/cifar10/cifar10_quick_iter_4000.caffemodel
Snapshotting solver state to binary proto fileexamples/cifar10/cifar10_quick_iter_4000.solverstate
Iteration 4000, loss = 0.599427
Iteration 4000, Testing net (#0)
Test net output #0: accuracy = 0.7159
Test net output #1: loss = 0.863218 (* 1 = 0.863218 loss)
Optimization Done.
首先,训练后得到的模型存在文件 cifar10_quick_iter_4000.caffemodel 中,该模型文件将用于后面进行测试和分类应用。solverstate文件比起.caffemodel文件多了模型名称、当前迭代次数等。solverstate是用来恢复训练的,防止意外终止而保存的快照(有点像断点续传的感觉)。
在训练过程,Caffe会根据.prototxt文件的定义,随机选取数据集中的一部分数据进行模型精度测试,所以本次训练所得到的模型精度为 0.7159.
至此,我们第一个模型训练就完成了。
利用训练模型进行图片分类
深度学习的目的是要让我们的应用获得认知能力。假设我们要开发一个图片分类应用,我们已经使用Caffe通过前面的步骤训练得到一个懂得10个分类的学习模型。在这部分,我们要做的是如何把这个模型使用起来,为我们的应用服务。
caffe图像分类教程_跟我上手深度学习: 五分钟尝试第一个深度学习(Caffe)训练和图像分类(详细图文步骤)...相关推荐
- 【快速上手系列】五分钟即可学会的easyUI的简单使用教程
[快速上手系列]五分钟即可学会的easyUI的简单使用教程 一个简单方便的前端框架 引入文件 引入两个css样式和三个js <!--引入easyUI的样式 --> <link hre ...
- 神舟linux装win7教程,神舟笔记本win10系统改win7系统详细图文步骤
神舟笔记本win10系统怎么改为win7系统?神舟笔记本性能强劲,操作流畅,是游戏办公的最好选择.最近有位用户购买了神舟笔记本之后,预装的是win10系统,但是他用惯了win7系统,就想将其中的win ...
- javplayer 使用教程_每日更新 | 立创EDA画图不求人系列视频教程@第一期目录
如果觉得文章对你有用,那就转发,让更多人知道吧 教程内容:立创EDA画图不求人系列,是电子芯原创的立创EDA绘图技巧视频教程,每一个技巧只需要不到3分钟的时间就可以完成学习.立创EDA支持window ...
- 贪吃蛇python零基础教程_自学python-tkinter项目-贪吃蛇的程序(0基础入门学习)...
python学习了2个月有点想放弃了(本人英文基本为0,之前也根本没接触过IT行业) 不过贪吃蛇的程序做成,给了继续下去的理由和信心 下面是代码: import tkinter import rand ...
- PyTorch深度学习60分钟入门与实战(四)训练分类器
原文:github link,最新版会首先更新在github上 有误的地方拜托大家指出~ 训练分类器 目前为止,我们以及看到了如何定义网络,计算损失,并更新网络的权重. 现在可能会想, 数据呢? 通常 ...
- 快速安装Docker详细图文步骤教程
文章目录 一.Docker的基本组成 1.Docker是什么? 2.我可以使用Docker做什么? 二.Docker在线安装 1.使用uname命令验证-查看即可 2.如果已经安装过Docker,先卸 ...
- 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机...
原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java ...
- 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机||CSDN博文精选...
作者:黄小斜 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java面试中总是爱考一类问题, ...
- F11一键还原精灵使用教程(详细图文步骤)
品牌机一般都带有一键还原的功能,免除重新安装系统和软件的漫长过程.那么,组装机怎么办,推荐安装F11一键还原精灵,它的功能就是创建一个隐藏分区,装好系统.软件并打好补丁和优化设置后,将系统备份在此隐藏 ...
最新文章
- Python学习系列(五)(文件操作及其字典)
- python画动态爱心-使用Python画出小人发射爱心的代码
- Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比
- [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配
- Gitee ssh 公钥配置好后,仍然 permission denied 的排查过程及解决方法
- Java面试题15牛客 以下关于Integer与int的区别错误的是
- JSON(5)---JSON.stringify()
- tushare 安装
- 单例模式-1.单利模式的简单实现
- jquery基础复习-index(),
- vmalloc与mmap
- python三对角矩阵_用NumPy实现三对角矩阵算法(TDMA)
- php四段拼接ip,合并相同的ip段算法
- 企业IP地址怎么划分
- matlab has encountered,[万能解决问题]MATLAB has encountered an internal problem and needs to close....
- chemdraw怎么连接两个结构_ChemDraw如何连接两个片段?
- 手机屏幕取词翻译软件哪个比较好?快看这篇文章,它能告诉你
- 世界上最大的开源基金会 Apache 是如何运作的?
- 追加贷显示服务器出错,小蜜蜂财务软件常见问题汇总
- 【AIX】AIX中级试题
热门文章
- linux脚本base64加密当时,【加密算法】Base64
- 网关策略跟计算机名有关系吗,交换机网关与与之相连的计算机的网关有没有必然关系...
- linux抓包库libpcap,linux下libpcap抓包分析.doc
- signature=172bb3bb7ef43cff1707b389c78d27cb,Signatures? of suicide
- example 排序_个性化推荐系统源代码之基于 WideDeep模型的在线排序
- charles抓包工具_HTTP协议抓包工具:Charles for Mac
- 华为p7刷android go,华为首款Android GO手机发布 1G内存也流畅
- qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率
- android切换线程的方法,android 主线程切换方法
- A Comprehensive Introduction to Torchtext