参考文章:

编译历程参考:CNN:Windows下编译使用Caffe和Caffe2

caffe的VS版本源代码直接保留了sample里面的shell命令,当然这些shell命令在Windows平台下是不能运行的,需要稍微修改一下,转换为CMD可以理解的脚本代码。

一、使用cifar数据集合。

1.获取cifar10数据集get_cifar10数据集:

echo "Downloading..." wget --no-check-certificate http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz echo "Unzipping..." tar -xf cifar-10-binary.tar.gz && rm -f cifar-10-binary.tar.gz mv cifar-10-batches-bin/* . && rm -rf cifar-10-batches-bin

还是直接下载划算。

2. 生成标准格式的数据集合create_cifar10.sh:

set -e EXAMPLE=examples/cifar10 DATA=data/cifar10 DBTYPE=lmdb echo "Creating $DBTYPE..." rm -rf $EXAMPLE/cifar10_train_$DBTYPE $EXAMPLE/cifar10_test_$DBTYPE ./build/examples/cifar10/convert_cifar_data.bin $DATA $EXAMPLE $DBTYPE echo "Computing image mean..." ./build/tools/compute_image_mean -backend=$DBTYPE \ $EXAMPLE/cifar10_train_$DBTYPE $EXAMPLE/mean.binaryproto echo "Done."

cifar10数据集合使用了二进制的bin文件,对于我们来说几乎没有任何意义,只是作为一个测试流程使用。

修改为cmd命令:

convert_cifar_data.exe E:/DataSet/cifar10 E:/DataSet/cifar10 lmdb

把e盘cifar10文件夹下面的文件转换为lmdb格式,到同目录下。

分别生成train和test文件夹,每个文件夹下面存在两个lock.lmdb和data.lmdb文件。

至于为何使用lmdb格式的文件,请到知乎搜索....................

然后修改为cmd命令:

 compute_image_mean.exe -backend=lmdb E:/DataSet/cifar10/cifar10_train_lmdb E:/DataSet/cifar10/mean.binaryprot

依次生成lmdb文件,mean.binaryproto文件

二、开始使用Caffe网络

修改Caffe的train_quick命令,修改为:

caffe.exe train --solver=E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt

可以从

cifar10_quick_solver.prototxt

启动简单的caffe网络,开始训练过程

prototxt配置文件里面初始参数是这样的:

name: "CIFAR10_quick" layer {
name: "cifar" type: "Data" top: "data" top: "label" include { phase: TRAIN
}
transform_param {
mean_file: "E:/DataSet/cifar10/mean.binaryproto"
 }
data_param{
source: "E:/DataSet/cifar10/cifar10_train_lmdb" batch_size: 100 backend: LMDB
}
}
layer{
name: "cifar" type: "Data" top: "data" top: "label" include { phase: TEST }
transform_param {
mean_file: "E:/DataSet/cifar10/mean.binaryproto"
 }
data_param { source: "E:/DataSet/cifar10/cifar10_test_lmdb" batch_size: 100 backend: LMDB
}
}

训练完成后,生成.model文件。留作使用。

 三、注意事项

      1. 在使用初始化的过程中,使用protobuf解析网络配置文件,出现默认初始化问题。    

     

       在solver_param.mutable_train_state()->set_level(FLAGS_level);

           CHECK(ReadProtoFromTextFile(param_file, param));

           ReadProtoFromTextFile(filename.c_str(), proto);

           bool success = google::protobuf::TextFormat::Parse(input, proto);/

     调用栈之中,解析文件目录为  filename = 0x0000029ed8a371a0 "E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt"

     而 默认初始化 net 目录和+        snapshot_prefix_  为  0x0000029ee0ead6b0 "examples/cifar10/cifar10_quick"   ,是相当悲剧的行为。

     下载源码,编译后,调试进入,

载回头来看这些繁琐的东西,真是蛋疼。

三、开始使用残差网络

修改E:/DataSet/cifar10/net/cifar10_quick_solver.prototxt 文件,修改为:

#net: "E:/DataSet/cifar10/Net/cifar10_quick_train_test.prototxt"

net: "E:/DataSet/Net/ResNet-50-deploy.prototxt"

可以直接使用caffe的ResNet50网络

Windows下使用Caffe-Resnet的更多相关文章

  1. windows下检验caffe是否配置正确

    windows下检验caffe是否配置正确:(注:不考虑搭建caffe的编译环境,而是直接使用caffe官网提供的二进制文件) windows版本源码以及二进制库文件下载地址:https://gith ...

  2. windows下配置caffe(环境:win7+vs2013+opencv3.0)

    说明:大部分转载于initialneil的大作Caffe + vs2013 + OpenCV in Windows Tutorial (I) – Setup 准备工作: 1.下载CUDA7.5: ht ...

  3. 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类

    三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...

  4. Windows下VS2013+Caffe无GPU配置

    Windows版本的caffe工具包下载地址: 点击打开链接 1. 将下载的caffe-master.zip解压到 D:\Software\Caffe 文件夹下,把 D:\Software\Caffe ...

  5. windows下编译caffe报错:error MSB4062: 未能从程序集 E:\NugetPackages\OpenCV.2.4.10\......的解决办法

    参考博客:http://blog.csdn.net/u013277656/article/details/75040459 在windows上编译caffe时,用vs打开后会自动加载还原NugetPa ...

  6. Windows下用Caffe跑自己的数据(遥感影像)

    1 前言 Caffe对于像我这样的初学者来说是一款非常容易上手的深度学习框架.关于用Caffe跑自己的数据这样的博客已经非常多,感谢前辈们为我们提供的这么好的学习资源.这里我主要结合我所在的行业,说下 ...

  7. windows下使用caffe测试mnist数据集

    在win10机子上装了caffe,感谢大神们的帖子,要入坑caffe-windows的朋友们看这里,还有这里,安装下来基本没什么问题. 好了,本博文写一下使用caffe测试mnist数据集的步骤. 1 ...

  8. Windows下调用caffe的matlab接口

    一.编译caffe的matlab接口 在我的这篇博客windows-caffe配置已经说了怎么编译了,这里就略过了. 编译成功后,会得到如下图所示文件: matlab接口就在matcaffe文件夹里. ...

  9. windows下编译caffe出现错误 C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe?

    解决方案来自http://blog.csdn.net/u012556077/article/details/50353818

  10. 【caffe】create_cifar10.sh在windows下解决方案

    @tags caffe python windows下配置caffe后,create_cifar10.sh无法执行,因为是shell脚本.那就看懂脚本意思,用python重写一个: # create_ ...

随机推荐

  1. 关于框架搭建-web

    最近一直在学习前端相关的东西,在学了一堆基础可以以及动手在某个前端框架上写了一些东西之后,我想尝试着开始自己搭建一个框架.不知道时间需要多久,但会持续更新.小菜鸟的成长记录. ------------ ...

  2. Android RecyclerViewSwipeDismiss:水平、垂直方向的拖曳删除item

     Android RecyclerViewSwipeDismiss:水平.垂直方向的拖曳删除item RecyclerViewSwipeDismiss是一种支持RecyclerView的水平.垂直 ...

  3. sql server的数据库个数、表个数及表的数据量统计

    sql server的数据库个数.表个数及表的数据量统计   --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...

  4. Sencha Toucha 2.1 文件上传

    javascript代码: Ext.onReady(function() { Ext.create('Ext.form.Panel', { title: 'Upload a Photo', width ...

  5. JS 带运动的返回顶部 小案例

    带运动的返回顶部:当滚动条在滚动的时候,滚动鼠标的滚轮,应该让滚动条停止滚动,清掉定时器.下面的方法b 就是清掉的方法 <!DOCTYPE html PUBLIC "-//W3C//D ...

  6. IntelliJ IDEA中出现could not auto wired错误提示处理方式

    IntelliJ IDEA中出现could not auto wired错误提示处理方式 程序可以正常运行,就是出现错误提示: 学习了:http://blog.csdn.net/xlxxybz1314 ...

  7. 从头认识java-15.6 队列(Queue)

    这一章节我们来讨论一下队列(Queue). 1.什么是队列? 队列是一种特殊的线性表,特殊之处在于它仅仅同意在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样.队列是 ...

  8. 为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯&#183;白金汉,(美)柯特&#183;科夫曼 著

    <ctrlno=255632">首先,打破一切常规>[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著:鲍世修 等译 下载地址:http:/ ...

  9. 在CentOS 6 中安装 Apache,Mysql, PHP

    1.安装Apache 在终端中输入以下的命令就能够安装Apache了: sudo yum install httpd sudo的意思是用root用户做什么操作.要点击y就确认下载安装了,非常方便. 然 ...

  10. System.IO.Path 操作

    System.IO.Path 分类: C#2011-03-23 10:54 1073人阅读 评论(0) 收藏 举报 扩展磁盘string2010c System.IO.Path提供了一些处理文件名和路 ...