Deep Learning的训练工具~caffe
来源:互联网 发布:淘宝图片如何ps 编辑:程序博客网 时间:2024/05/21 18:23
1. Deep Learning工具—— Theano
Theano是deep learning的Python库,要求首先熟悉Python语言和numpy,建议读者先看Theano basic tutorial,然后按照Getting Started 下载相关数据并用gradient descent的方法进行学习。
2、Torch 是很多机器学习和人工智能项目的核心
Facebook 也在研究关于深度学习的技术,同时也已经做了很多相关工作,包括其开源的用于机器学习的Torch7 计算框架。Torch 是很多机器学习和人工智能项目的核心,不管是在学校研究或者是类似 Google、Twitter 和因特尔这样的公司。
3、Caffe是一个清晰而高效的深度学习框架
本文详细介绍了caffe的优势、架构,网络定义、各层定义,Caffe的安装与配置,解读了Caffe实现的图像分类模型AlexNet,并演示了CIFAR-10在caffe上进行训练与学习。
Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作。
Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:
1)Caffe的安装与配置
Caffe需要预先安装一些依赖项,首先是CUDA驱动。不论是CentOS还是Ubuntu都预装了开源的nouveau显卡驱动(SUSE没有这种问题),如果不禁用,则CUDA驱动不能正确安装。以Ubuntu为例,介绍一下这里的处理方法,当然也有其他处理方法。
1:Caffe的主版本只支持Linux,所以要下载专门的Caffe For Windows VS2012 完整版,带第三方库的,网上能搜到的
该版本需要的环境如下
1)Windows 64-bit
2)MS Visual Studio 2012
3)CUDA toolkit 6.5 注:我win7 系统安装7.0以上的版本不兼容
4)Other dependencies which you can directly download from
2:下载VS2012和CUDA
1)VS2012,这个在百度云上一搜就能找到(似乎不区分64位还是32位的),以前用VS2010感觉还不错,除了出错时候堆栈乱七八糟外。VS2012的界面我觉得是瞎折腾。
2)CUDA 6.5下载地址https://developer.nvidia.com/cuda-downloads(这个好像是7.0以上版本)。虽然我的机器没有GPU,我想最多跑的慢点吧
安装时,费了老劲了。(如果出现 不兼容,直接 跳 过,继续安装) 无需配置
搭建过程如下:
1:用VS2012打开\build\MSVC目录下的MainBuilder.sln工程文件,选择”x64”,
直接进行编译,我这编译了好20分钟左右时间,类似这样的提示错误:
error MSB3073: 命令“set origin_dir=í%
error MSB3073: cd ../../
error MSB3073: "./scripts/GeneratePB.bat"
error MSB3073: cd %origin_dir%
error MSB3073: :VCEnd”已退出,代码为255。
查看错误位置,是预编译的命令错误()
查看“生成事件->预先生成事件->命令行”,暂时先不执行该命令,所以在“在生成中使用”选择“否”。
2、在解决方案管理器里面展开MainCaller,会看到里面有一个MainCaller.cpp的文件,
点击它,在代码里面加上#include"../../examples/cifar10/convert_cifar_data.cpp"
3、编译,可能会出现错误:未识别的标识符snprintf,你需要打开caffe for Windows\examples\cifar10\convert_cifar_data.cpp,然后找到snprintf,在前面加上下划线,或者直接双击错误,会弹出这个cpp,其中有3处都需要加下划线,保存,再编译
如果运行成功,会出现下面的界面:
在bin文件夹里出现convert_cifar_data.exe。然后 就可以进行格式转换。binary→leveldb
可以在bin文件夹下新建一个input文件夹和output文件夹。将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。
cmd进入bin文件夹
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。
当然,也可以写一个bat文件处理,方便以后再次使用。
并且在这个文件夹下会有MainCaller.exe文件,如下图
把MainCaller.exe 更名为:convert_cifar_data.exe
4、cifar10数据 准备
60000张32*32 彩色图片 共10类
50000张训练
10000张测试
1)下载cifar10数据集 ,这是binary格式的,所以我们要把它转换成leveldb格式。
在bin文件夹里出现convert_cifar_data.exe。然后 就可以进行格式转换。binary→leveldb
2)可以在bin文件夹下新建一个input文件夹和ouput文件夹,将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。如下图:
3)cmd进入bin文件夹,输入命令:convert_cifar_data.exe input output
注:caffe,我放到D:\Caffe_windows\Caffe For Windows VS2012 完整版,带第三方库 -------------------这个目录下面
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。
4) 下面求数据图像的均值
编译../../tools/comput_image_mean.cpp
编译成功后。接下来求mean
cmd进入bin。
输入:MainCaller.exe output/cifar-train-leveldb mean.binaryproto
执行后,在bin文件夹下出现一个mean.binaryproto文件,这就是所需的均值文件。
5、 训练cifar网络
1)在.../examples/cifar10文件夹里已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar10文件夹下。
2)修改cifar10_quick_train.prototxt中的 source: "cifar-train-leveldb" mean_file: "mean.binaryproto" 和
cifar10_quick_test.prototxt中的source: "cifar-test-leveldb" mean_file: "mean.binaryproto"就可以了
如下图,去掉红框的内容:
2)后面再训练就类似于MNIST的训练。写一个train_quick.bat,此文件放到 .......\examples\cifar10这个目录下面,内容如下:
copy ..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exeSET GLOG_logtostderr=1"../../bin/train_net.exe" cifar10_quick_solver.prototxt pause
3)先编译一遍 train_net.cpp
4)运行train_quick.bat,出现了这个错误
(1) 因为我的电脑Intel(r) HD Graphics 4600 不支持CUDA,但是可以走CPU模式,往下看:
(2) 切换到CPU模式
由于服务器没有安装显卡,只能使用CPU训练。切换到CPU模式非常简单
只需要在.....\examples\cifar10 文件夹下面的 cifar10_quick_solver.prototxt 文件最后的内容 中修改一行:
# solver mode: CPU or GPU
solver_mode: GPU
修改为
# solver mode: CPU or GPU
solver_mode: CPU
(3) 再次运行批处理命令 train_quick.bat ,如下图:
其中每100次迭代次数显示一次训练时lr(learning rate),和loss(训练损失函数),每500次测试一次,输出score 0(准确率)和score 1(测试损失函数)
- Deep Learning的训练工具~caffe
- Deep Learning---基于windows版caffe训练mnist数据集
- Caffe (CNN, deep learning )
- Deep Learning -- Caffe学习
- caffe|deep learning framework
- Deep Learning训练过程
- Deep Learning训练过程
- Deep Learning 训练/学习过程
- 【二】 Deep Learning训练过程
- (2)Deep Learning训练过程
- 清晰高效的深度学习(Deep Learning)框架:Caffe
- Caffe-清晰高效的深度学习(deep learning)框架
- Deep Learning的基本思想以及训练过程
- Deep Learning学习 之 Deep Learning训练过程
- Caffe build for denoising of deep learning
- Caffe —— Deep learning in Practice
- deep learning for face detection (caffe C++)
- 深入理解deep learning之caffe BLOB
- 算法竞赛入门经典:第七章 暴力求解法 7.18倒水问题
- PLSQL中文乱码问题解决办法
- CSS中对字体进行设置
- POJ1041 John's trip 欧拉回路路径查找
- java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)
- Deep Learning的训练工具~caffe
- 存储过程 视图 触发器 分页
- android全屏去掉title栏的多种实现方法
- Accepted Necklace
- 算法竞赛入门经典:第七章 暴力求解法 7.18 广度优先搜索之八数码问题
- 接口下多个实现方法的解决方案
- C# 静态类
- [C++11] 默认构造函数
- pdf文件怎么编辑