什么是caffe

Caffe是一个深度学习框架,具有表达力强、速度快和模块化的思想,由伯克利视觉学习中心(BVLC)和社区贡献者开发。Yangqing Jia在加州大学伯克利分校攻读博士期间创建了这个项目。

为什么选择caffe?

富有表现力的架构鼓励应用和创新 使用Caffe,可以在配置中定义模型和优化,不需要硬编码。通过设置一个GPU机器训练标记在CPU和GPU之间转换,接着调配商品化集群系统或移动设备来完成。

代码的可扩展性让开发更加活跃 在Caffe项目的第一年,它就被开发者fork超过1000次,由他们完成许多重要的修改并反馈回来。多亏那些贡献者,这个框架在代码和模型两方面都在追踪最先进的技术。

速度使Caffe完美的用于研究实验和工业开发 使用一个NVIDIA K40 GPU Caffe每天可以处理超过60M的图像。推理过程为1ms/一幅图像,而学习过程为4ms/一幅图像。我们相信Caffe是现在可使用最快的ConvNet应用。

社区 在视觉、速度和多媒体方面,Caffe已经有能力用于学术研究项目、启动原型,甚至大规模的工业应用。

软件需要

1、vs2013或vs2015,其他版本不行,博主使用的vs2015社区版
2、cmake3.4或者更高版本,博主使用过cmake3.9.2和3.14.2,都可以使用,下载地址在下方,选择cmake-3.14.2-win64-x64.zip即可,下载完后,需要在环境变量的path中添加cmake的.exe文件的位置,如下图所示,环境配置的相似方法在我的另一篇博客配置CUDA8.0和CUDA5.1中有说明。
https://github.com/Kitware/CMake/releases

3、GPU配置所需的CUDA8.0和CUDNN5.1的下载和环境配置在我的另一篇博客
https://blog.csdn.net/qiongyaoxinpo/article/details/89036658
4、使用python接口导入caffe,还需要下载anaconda,caffe支持的python版本为2.7和3.5,因此,博主下载的为python3.5版本的anaconda3,之前是在清华镜像下载,不过2019.4.16清华镜像似乎已经挂了,这里就不给出下载地址了。
5、notepad++,使用notepad++来查看代码十分方便

caffe环境配置

caffe环境配置其实很简单,只要按照github官网上的要求一步一步来就可以了,这里对官网的指令进行了翻译并介绍了自己的实践与成功经历。github官网如下
https://github.com/BVLC/caffe/tree/windows
1、 同时按下win+r,输入cmd后打开cmd prompt,然后cd到你想下载caffe并运行的地方,例如想下载在F盘的caffe文件夹下,则按如下图操作即可

之后在该目录下依次输入

F:\caffe>git clone https://github.com/BVLC/caffe.git
F:\caffe>cd caffe
F:\caffe\caffe>git checkout windows
F:\caffe\caffe>scripts\build_win.cmd

2、找到F:\caffe\caffe\scrpts文件夹中的build_win.cmd文件,使用notepad++打开,进行如下修改,修改完成后,再运行一次F:\caffe\caffe>scripts\build_win.cmd命令即可进行caffe在windows环境下的文件生成,因为其原本是在ubantu系统下建立的。


3、进入F:\caffe\caffe\build文件夹下,打开Caffe.sln文件,按如下操作,release和x64,生成解决方案

4、编译完成后可以在F:\caffe\caffe\build\tools\Release文件夹中找到caffe.exe文件,可以在F:\caffe\caffe\build\examples\mnist\Release中找到convert_mnist_data.exe,如下图所示,caffe.exe文件是用于使用c++进行训练的程序,convert_mnist_data.exe是用来将mnist手写体数据转换成caffe可以使用的数据格式,值得注意的是caffe中不包含训练数据。

5、在开始调用caffe进行训练样本之前,首先得获取数据,数据在手写体官网可以直接下载,也可以通过下方传送门进行下载
http://yann.lecun.com/exdb/mnist/,一共需要下载4个文件,将所有压缩文件下载于F:\caffe\caffe\data\mnist中,并解压出来,如下图所示

6、在F:\caffe\caffe\examples\mnist文件夹中,创建create_mnist.bat的文件,使用notepad++打开后,输入程序,程序如下,其实是对create_mnist.sh的改写,因为.sh只能在linux环境下运行。按照自己的文件位置,分别修改如下4条语句即可,保存完毕后,进入cmd prompt命令行界面,在caffe根目录F:\caffe\caffe下运行如下语句:examples\mnist\create_mnist.bat,运行完毕后即可在F:\caffe\caffe\examples\mnist中发现2个可以进行训练的数据集,如下图所示
1、set EXAMPLE=F:\caffe\caffe\examples\mnist
2、set DATA=F:\caffe\caffe\data\mnist
3、set BUILD=F:\caffe\caffe\build\examples\mnist\Release
4、set exename=convert_mnist_data.exe

@echo off & setlocal enabledelayedexpansion
:: This script converts the mnist data into lmdb/leveldb format,
:: depending on the value assigned to %BACKEND%.
:: 在caffe 根目录运行examples\mnist\create_mnist.bat
%~d0
cd %~dp0
echo %cd%
echo currentpath: %~dp0:: 网络定义文件的位置,生成lmdb文件也在这里
set EXAMPLE=F:\caffe\caffe\examples\mnist
:: 测试数据的位置
set DATA=F:\caffe\caffe\data\mnist:: 工程文件生成的位置
::set cfg=Debug
::set BUILD=..\..\build\x64\examples\mnist\%cfg%
::set exename=convert_mnist_data-d.exe:: 发布文件所在位置,即vs2015工程中运行INSTALL后,文件的安装位置
set BUILD=F:\caffe\caffe\build\examples\mnist\Release
:: 可发布的release版本lmdb生成工具
set exename=convert_mnist_data.exe
:: 生成数据类型
set BACKEND=lmdbecho "Creating !BACKEND! start":: 删除存在的数据库目录,如果目录存在,会运行失败
IF EXIST %EXAMPLE%\mnist_train_%BACKEND%. echo rmdir /S /Q %EXAMPLE%\mnist_train_%BACKEND%.
IF EXIST %EXAMPLE%\mnist_train_%BACKEND%. rmdir /S /Q %EXAMPLE%\mnist_train_%BACKEND%.IF EXIST %EXAMPLE%\mnist_test_%BACKEND%. echo rmdir /S /Q %EXAMPLE%\mnist_test_%BACKEND%.
IF EXIST %EXAMPLE%\mnist_test_%BACKEND%. rmdir /S /Q %EXAMPLE%\mnist_test_%BACKEND%.:: 生成训练数据库
::
echo %BUILD%\%exename% %DATA%\train-images.idx3-ubyte ^%DATA%\train-labels.idx1-ubyte %EXAMPLE%\mnist_train_%BACKEND% --backend=%BACKEND%
%BUILD%\%exename% %DATA%\train-images.idx3-ubyte %DATA%\train-labels.idx1-ubyte %EXAMPLE%\mnist_train_%BACKEND% --backend=%BACKEND%
:: 生成测试数据库
::
echo %BUILD%\%exename% %DATA%\t10k-images.idx3-ubyte ^%DATA%\t10k-labels.idx1-ubyte %EXAMPLE%\mnist_test_%BACKEND% --backend=%BACKEND%
%BUILD%\%exename% %DATA%\t10k-images.idx3-ubyte %DATA%\t10k-labels.idx1-ubyte %EXAMPLE%\mnist_test_%BACKEND% --backend=%BACKEND%echo "Create !BACKEND! Done.":: 根据example\mnist\下面的*.sh运行测试
::mkdir build\x64\log\
::build\x64\install\bin\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt > build\x64\log\lenet_solver.log 2>&1endlocal&goto :EOF
:EOF

7、开始使用caffe对mnist训练集进行测试,进行cmd prompt命令行,cd至caffe根文件F:\caffe\caffe,然后运行如下语句,caffe训练开始!如下图

F:\caffe\caffe>build\tools\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt


8、在将caffe模型导入python中前,需要对python进行设置环境配置,打开anaconda prompt,输入如下3条语句,下载完毕后,将F:\caffe\caffe\python中的caffe文件夹复制到D:\anaconda3\Lib\site-packages中即可。

conda config --add channels conda-forge
conda config --add channels willyd
conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz

8、运行anaconda3,import caffe成功!至此,完毕。

win10caffe-GPU环境配置+mnist手写体训练以及python接口导入详细教程(一步成功)相关推荐

  1. 40系笔记本(可不联网激活)深度学习生产力(环境配置和简单训练测试)

    40系笔记本深度学习.转码生产力(环境配置和简单训练测试)这里写自定义目录标题 深度学习环境准备 CUDA.CUDNN版本问题 torch版本问题 其他软件版本的安装命令 训练测试代码地址 关于Lin ...

  2. Ubuntu18.04深度学习GPU环境配置

    Ubuntu18.04深度学习GPU环境配置 Ubuntu 18.04.cuda 9.0.cuDnn v7.TensorFlow/Keras 与anaconda 1.背景 为了加速神经网络的训练,使用 ...

  3. RTX3090 GPU环境配置

    RTX3090 GPU环境配置 前言 安装Nvidia显卡驱动 安装CUDA 安装cuDNN 前言 这篇文章中安装的版本都是根据我自己的电脑的情况选择的,有需要的可以根据实际情况选择, 我的系统上Ub ...

  4. CNN卷积神经网络—LeNet原理以及tensorflow实现mnist手写体训练

    CNN卷积神经网络-LeNet原理以及tensorflow实现minst手写体训练 1. LeNet原理 2.tensorflow实现Mnist手写体识别 1.安装tensorflow 2.代码实现手 ...

  5. windows10和ubuntu两种环境搭建YOLOX环境配置,并训练VOC数据集

    前言:本文使用的代码来自于:https://github.com/Megvii-BaseDetection/YOLOX,确保系统中已经安装好cuda cudnn,未装好的请自行查阅资料进行安装 一.W ...

  6. 深度学习之GPU环境配置

    写下此博客以纪念我这一周的折腾. 刚开始是打算在ubuntu18.04上面直接配置GPU运行环境的,然后遇到了各种问题,首先就是在terminal中输入nvidia-smi命令,出现需要你安装最新驱动 ...

  7. GPU环境配置指南(Ubuntu16.04+CUDA+CUDNN)

    前言 这两天由于种种原因,反复重装系统并配置了深度学习开发环境,无意中便总结了一份环境配置指南出来,所幸再稍加整理,和大家分享出来. 本指南确认无误的环境是: 系统是Ubuntu16.04 GPU是N ...

  8. 【计算机视觉】Mnist手写体训练

    一.原理 1. Mnist数据集简介 MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分: Training set images: ...

  9. 完整的Ubuntu18.04深度学习GPU环境配置,英伟达显卡驱动安装、cuda9.0安装、cudnn的安装、anaconda安装

    文章目录 1.英伟达显卡驱动安装 2.cuda9.0安装 3.cudnn的安装 4.anaconda安装 5.安装TensorFlow和Keras 安装 参考:https://blog.csdn.ne ...

最新文章

  1. mysql之DML(SELECT DELETE INSERT UPDATE)
  2. 网站推广专员浅析网站排名越来越差大抵离不开这些网站推广重点
  3. 【数理知识】《数值分析》李庆扬老师-第3章-函数逼近与快速傅里叶变换
  4. [CSS]CSS:类目之间的竖线问题
  5. Ubuntu下各种服务搭建及操作技巧
  6. mysql 5.6.38 数据库编译安装
  7. leetcode - Linked List Cycle
  8. 普惠数据科学应用,九章云极携手伙伴共探智慧未来
  9. 《贫穷的本质》这本书让我找到为什么不少人缺钱和赚钱少的原因
  10. netcore之托管程序
  11. IVS-163/167雷达距离测量的误差处理
  12. FMEA软件框图及接口功能库(FMEAHunter)
  13. 三七互娱游戏测试面经
  14. 历年计算机一级笔试考试真题及答案解析,全国计算机等级考试上机考题全真笔试历年题...
  15. MMCV之Runner介绍
  16. 獨立屋裝修/村屋裝修
  17. 救灾帐篷惊现高档小区
  18. Java8 时间日期使用总结
  19. 关于手机APP在手机桌面图标圆形的,圆角方形的,直角方形的自动适配。
  20. AMD主板 A85XM刷bios支持NVME启动

热门文章

  1. 探索有交易成本的环境下期权Delta对冲频次与定价效果的关系
  2. Ntp--server dropped:Strata too hight
  3. 初识 Spring Boot
  4. [机器学习]机器学习之Python之NumPy数学库的介绍
  5. 计算机一级考试:选择题汇总G(精简版)
  6. 通用ATE测试平台开发——新平台介绍
  7. 【AFSA TSP】基于matlab人工鱼群算法求解旅行商问题【含Matlab源码 422期】
  8. Android热更新Tinker + 多渠道打包 + 加固的流程详解
  9. NLP之BERT:BERT的简介(背景、改进点、创新点、简介、意义、原理、优缺点、总结与评价)、模型结构、训练过程(MLM、NSP任务的概述)之详细攻略
  10. javaWeb入门,开发我的第一个jsp网页