caffe CIFAR-10官方文档中文版

我这20MB的网速都下不下来,我觉得你还是放弃这个模型训练吧,谈费劲,看看得了,我就直接机翻粘过来得了,懒得校对了。

Alex的CIFAR-10教程,Caffe风格

Alex Krizhevsky的cuda-convnet详细介绍了模型定义,参数和培训程序,以便在CIFAR-10上获得良好的性能。这个例子再现了他在Caffe的结果。

我们将假设你已经成功编译了Caffe。如果没有,请参阅安装页面。在本教程中,我们假设您的caffe安装位于CAFFE_ROOT

我们感谢@chyojn定义模型模式和求解器配置的pull请求。

这个例子是一个正在进行的工作。这将是很高兴进一步解释网络和培训选择的细节和基准的全面培训。

准备数据集

您首先需要从CIFAR-10网站下载并转换数据格式。为此,只需运行以下命令:

cd $CAFFE_ROOT
./data/cifar10/get_cifar10.sh
./examples/cifar10/create_cifar10.sh

如果它抱怨wgetgunzip没有安装,你需要分别安装它们。运行脚本后应该有数据集./cifar10-leveldb,和数据集图像的意思./mean.binaryproto

该模型

CIFAR-10模型是一个CNN,它包括卷积,合并,整流线性单位(ReLU)非线性的层,以及局部对比度归一化,在其顶部的线性分类器。我们已经在CAFFE_ROOT/examples/cifar10目录中定义了模型cifar10_quick_train_test.prototxt

培训和测试“快速”模型

在编写网络定义protobuf和solver protobuf文件(参见MNIST教程)之后,训练模型很简单。只需运行train_quick.sh,或直接执行以下命令:

cd $CAFFE_ROOT
./examples/cifar10/train_quick.sh

train_quick.sh是一个简单的脚本,所以看看里面。培训的主要工具是caffetrain行动,并求解protobuf的文本文件作为其参数。

当你运行代码,你会看到很多消息飞行像这样:

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.

这些消息告诉您每个层,其连接和其输出形状的详细信息,这可能有助于调试。初始化后,训练将开始:

I0317 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

基于求解器设置,我们将每100次迭代打印训练损耗函数,并且每500次迭代测试网络。您将看到如下消息:

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

对于每个训练迭代,lr是该迭代的学习速率,并且loss是训练函数。对于测试阶段的输出,得分0是准确度,得分1是测试损失函数。

在给自己一杯咖啡后,你就完成了!

I0317 22:12:19.666914 2008298256 solver.cpp:87] Iteration 5000, Testing net
I0317 22:12:25.580330 2008298256 solver.cpp:114] Test score #0: 0.7533
I0317 22:12:25.580379 2008298256 solver.cpp:114] Test score #1: 0.739837
I0317 22:12:25.587262 2008298256 solver.cpp:130] Snapshotting to cifar10_quick_iter_5000
I0317 22:12:25.590215 2008298256 solver.cpp:137] Snapshotting solver state to cifar10_quick_iter_5000.solverstate
I0317 22:12:25.592813 2008298256 solver.cpp:81] Optimization Done.

我们的模型实现了?75%的测试精度。模型参数以二进制protobuf格式存储

cifar10_quick_iter_5000

这是准备部署在CPU或GPU模式!请参阅CAFFE_ROOT/examples/cifar10/cifar10_quick.prototxt可在新数据上调用的部署模型定义。

为什么要在GPU上训练?

CIFAR-10,虽然仍然很小,有足够的数据使GPU训练有吸引力。

要比较CPU和GPU训练速度,只需更改一行cifar*solver.prototxt

# solver mode: CPU or GPU
solver_mode: CPU

你将使用CPU进行培训。

时间: 2024-11-03 05:26:18

caffe CIFAR-10官方文档中文版的相关文章

2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等).当前2D Toolkit版本为2.4. 这是一篇系列教程,全文共13节(官方文档为4章,不过为了每节有明确目的,我根据官方文档的标题拆成了13节),下面是本系列教程的所有链接: 2DToolkit官方文档中文版打地鼠教程(一):初始设置 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

TestNG官方文档中文版(2)-annotation(转)

1. 介绍    TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器). 编写一个测试的过程有三个典型步骤: * 编写测试的 业务逻辑并在代码中插入TestNG annotation    * 将测试信息添加到testng.xml文件或者build.xml中    * 运行TestNG 在欢迎页面上可以找到快速入门示例. 下面是这篇文档使用的概念: * suite由xml文件描述.它包

2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等).当前2D Toolkit版本为2.4. 这是一篇系列教程,全文共13节(官方文档为4章,不过为了每节有明确目的,我根据官方文档的标题拆成了13节),下面是本系列教程的所有链接: 2DToolkit官方文档中文版打地鼠教程(一):初始设置 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

2DToolkit官方文档中文版打地鼠教程(一):初始设置

这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等).当前2D Toolkit版本为2.4. 这是一篇系列教程,全文共13节(官方文档为4章,不过为了每节有明确目的,我根据官方文档的标题拆成了13节),下面是本系列教程的所有链接: 2DToolkit官方文档中文版打地鼠教程(一):初始设置 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

【译】StackExchange.Redis官方文档-中文版(序)

StackExchange.Redis官方文档-中文版(序) Intro 最近想深入学习一些 Redis 相关的东西.于是看了看官方的项目,发现里面有一份文档,于是打算翻译成中文,方便大家学习参考,如果有什么翻译不准确的地方,欢迎大家指出. 翻译进度 文档还有一部分还未翻译完,我会争取在三月中旬前将剩下的部分翻译结束. 翻译进度详见:https://github.com/WeihanLi/StackExchange.Redis-docs-cn 文档地址: 原文文档地址: https://gith

TensorFlow 官方文档中文版

http://wiki.jikexueyuan.com/list/deep-learning/ TensorFlow 官方文档中文版 你正在阅读的项目可能会比 Android 系统更加深远地影响着世界! 缘起 2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译. 机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判.如今,领先的科技巨头无不在机器学习下予以极大投入.Faceboo

(三)Kafka0.8.2官方文档中文版系列-topic配置参数

前文链接: (一)Kafka0.8.2官方文档中文版系列-入门指南 (二)Kafka0.8.2官方文档中文版系列-API Topic-level configuration(主题级别的参数配置) 与主题相关的配置具有全局默认值(参考broker部分)和每个主题可选重写(broker部分有明确提示).如果主题没有重写这些配置,使用全局默认设置.可以使用--config添加一个或者多个自定义选项.下面这个例子创建了一个名为my-topic的主题,它自定义了最大消息大小和刷新速率: > bin/kaf

TensorFlow 官方文档中文版 --技术文档

1.文档预览 2.文档下载 TensorFlow官方文档中文版-v1.2.pdf 提取码:pt7p 原文地址:https://www.cnblogs.com/qikeyishu/p/10498789.html

Spring Cloud官方文档中文版-服务发现:Eureka服务端

官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR3/#spring-cloud-eureka-server 文中例子我做了一些测试在:http://git.oschina.net/dreamingodd/spring-cloud-preparation Service Discovery: Eureka Server 服务发现:Eureka服务端 How to Include Eureka Server 如何创建Eurek

Spring Cloud官方文档中文版-声明式Rest客户端:Feign

官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http://git.oschina.net/dreamingodd/spring-cloud-preparation Declarative REST Client: Feign 声明式Rest客户端:Feign Feign is a declarative web service client. It