没有合适的资源?快使用搜索试试~ 我知道了~
本学习笔记作用,知道如何利用caffe工具进行训练学习,非常有用
资源推荐
资源详情
资源评论
读书笔记 1 CIFAR-10 在 caffe 上进行训练与学习
本次学习笔记作用,知道如何在 caffe 上训练与学习,如何看结果。
1.1 使用数据库:CIFAR-10
60000 张 32X32 彩色图像 10 类
50000 张训练
10000 张测试
1.2 准备
在终端运行以下指令:
cd $CAFFE_ROOT/data/cifar10
./get_cifar10.sh
cd $CAFFE_ROOT/examples/cifar10
./create_cifar10.sh
其中 CAFFE_ROOT 是 caffe-master 在你机子的地址
运行之后,将会在 examples 中出现数据库文件./cifar10-leveldb 和数据库图像均值二进制文
件./mean.binaryproto
1.3 模型
该 CNN 由卷积层,POOLing 层,非线性变换层,在顶端的局部对比归一化线性分类器组成。
该模型的定义在 CAFFE_ROOT/examples/cifar10 directory’s cifar10_quick_train.prototxt 中,
可以进行修改。其实后缀为 prototxt 很多都是用来修改配置的。
1.4 训练和测试
训练这个模型非常简单,当我们写好参数设置的文件 cifar10_quick_solver.prototxt 和定义的
文件 cifar10_quick_train.prototxt 和 cifar10_quick_test.prototxt 后,运行 train_quick.sh 或者在
终端输入下面的命令:
cd $CAFFE_ROOT/examples/cifar10
./train_quick.sh
即可,train_quick.sh 是一个简单 的脚本,会把执行的信息显示出 来,培 训的工 具是
train_net.bin,cifar10_quick_solver.prototxt 作为参数。
然后出现类似以下的信息:
I0317 21:52:48.945710 2008298256 net.cpp:74] Creating Layer conv1
I0317 21:52:48.945716 2008298256 net.cpp:84] conv1 <- data
I0317 21:52:48.945725 2008298256 net.cpp:110] conv1 -> conv1
I0317 21:52:49.298691 2008298256 net.cpp:125] Top shape: 100 32 32 32 (3276800)
I0317 21:52:49.298719 2008298256 net.cpp:151] conv1 needs backward computation.
这是搭建模型的相关信息
接着:
0317 21:52:49.309370 2008298256 net.cpp:166] Network initialization done.
I0317 21:52:49.309376 2008298256 net.cpp:167] Memory required for Data 23790808
I0317 21:52:49.309422 2008298256 solver.cpp:36] Solver scaffolding done.
I0317 21:52:49.309447 2008298256 solver.cpp:47] Solving CIFAR10_quick_train
之后,训练开始
I0317 21:53:12.179772 2008298256 solver.cpp:208] Iteration 100, lr = 0.001
I0317 21:53:12.185698 2008298256 solver.cpp:65] Iteration 100, loss = 1.73643
...
I0317 21:54:41.150030 2008298256 solver.cpp:87] Iteration 500, Testing net
I0317 21:54:47.129461 2008298256 solver.cpp:114] Test score #0: 0.5504
I0317 21:54:47.129500 2008298256 solver.cpp:114] Test score #1: 1.27805
其中每 100 次迭代次数显示一次训练时 lr(learning rate),和 loss(训练损失函数),每 500 次
测试一次,输出 score 0(准确率)
和 score 1(测试损失函数)
当 5000 次迭代之后,正确率约为 75%,模型的参数存储在二进制 protobuf 格式在
cifar10_quick_iter_5000
然后,这个模型就可以用来运行在新数据上了。
1.5 其他
另外,更改 cifar*solver.prototxt 文件可以使用 CPU 训练,
# solver mode: CPU or GPU
solver_mode: CPU
可以看看 CPU 和 GPU 训练的差别。
主要资料来源:caffe 官网教程
读书笔记 2 用一个预训练模型提取特征
2014.7.21 薛开宇
本学习笔记的作用在于为后面打基础,没有什么实际的东西可以观测到,要可视化特
征还要观看后面的教程。
2.1 制作一个数据库
先做一个临时文件夹存放东西。
mkdir examples/_temp
我们为两张在 images 文件夹的照片生成一个文件列表(默认为一张图片,cat1 是我随意加
上去的)
find `pwd`/examples/images -type f -exec echo {} \; > examples/_temp/temp.txt
我们将使用 imagedatalayer 预计标签之后的每一个文件名,所以让我们添加一个 0 到每一行
的末尾
sed "s/$/ 0/" examples/_temp/temp.txt > examples/_temp/file_list.txt
这样,我们将得到两个文件 temp.txt 和 file_list.txt。
2.2.定义特征提取网络结构
在实践中,从一个数据集中减去均值图像对于提高分类准确性很重要,因此从 ILSVRC
dataset 中下载均值图像数据库
data/ilsvrc12/get_ilsvrc_aux.sh
我们将使用其中的 data/ilsvrc212/imagenet_mean.binaryproto 去定义网络结构。
将定义结构的文件 cope 到我们的临时文件夹。
cp examples/feature_extraction/imagenet_val.prototxt examples/_temp
然后,我们进入 imagenet_val.prototxt 更改路径。更改其中$CAFFE_DIR 的地方
下图是我做的改动。
2.3.提取特征
执行指令
build/tools/extract_features.bin examples/imagenet/caffe_reference_imagenet_model
examples/_temp/imagenet_val.prototxt fc7 examples/_temp/features 10
其中 fc7 是最高层的特征,我们也可以使用其他层提取,像 conv5 或 pool3
最后的参数是数据的批次
特征保存在 LevelDB examples/_temp/features ,可以运用到其他代码了。
这里可以发现,特征文件中 5 个文件和 cifar10 中的 leveldb 是相似的。
_temp 下 features
Cifar10 下特征数据库
因此,这是我们训练时组建模型时必要的文件。
2.4.注意
当存在 features 文件夹时将出现错误,这时需要移除该文件夹。
资料来源: caffe 官网教程
剩余35页未读,继续阅读
资源评论
Knight_roman
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 《能源转型投资展望:2025年及长远规划》.pdf
- PPTAAD DADAA
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- 基于Java开发的日程管理FlexTime应用设计源码
- 基于JavaScript、CSS、HTML的简易DOM版飞机游戏设计源码
- 【C++初级程序设计·配套源码】第1期-语法基础
- 基于华为消费者业务官网的仿制前端首页设计源码
- 影驰战将PS3111 东芝芯片TT18G23AIN开卡成功分享,图片里面画线的选项很重要
- 基于Java和Vue的kopsoftKANBAN车间电子看板设计源码
- 基于Go语言的SharpWxDump微信取证信息分析设计源码
- 基于C语言的USB光盘资料操作教学源码
- 基于GitHub的TypeScript文档中文翻译设计源码
- 【C++初级程序设计·配套源码】第2期-基本数据类型
- 基于Vue和SpringBoot的企业员工管理系统2.0版本设计源码
- 没用333333333333333333333333333333
- C++ STL 高级教程深入浅出版.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功