看了很多大牛的文章,淌过了好多好多坑。

终于完整走过了一个流程。

这里就不写我参考的文章了,零零碎碎很多,我也记不清了。

我这里分两部分,第一部分配置caffe,第二部分使用mnist

尽量用了最简单的方式直接出结果

涉及到配置使用的部分我就直接来干货,不写一堆中间过程和解释了

我这里安装在用户主目录下(/home/用户名/caffe)

第一部分  配置caffe

Ubuntu18.04(话说这个新发的版本不错)

opencv3(所以编译的前的配置需要修改)

python2.7(想弄3来着,倒腾好久,失败了,放弃了)

简单点,就四个步骤,顺序搞下来就成

1)安装

用户主目录下运行:

sh caffeCfg.sh

这个sh文件手动写的,内容:

sudo   apt-get install libprotobuf-dev   
sudo   apt-get install libleveldb-dev   
sudo   apt-get install libsnappy-dev   
sudo   apt-get install libopencv-dev   
sudo   apt-get install libhdf5-serial-dev   
sudo   apt-get install protobuf-compiler  
sudo   apt-get install --no-install-recommends libboost-all-dev  
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev  
sudo apt-get install libgflags-dev  
sudo apt-get install libgoogle-glog-dev   
sudo apt-get install liblmdb-dev
cd ~
sudo apt-get install git 
git clone https://github.com/BVLC/caffe.git
cd caffe/python
sudo apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done  
sudo apt-get install python-numpy
sudo pip install opencv-python

2)配置Caffe编译参数

caffe目录下:

cp Makefile.config.example Makefile.config

Makefile.config文件进行以下修改:

去掉CPU_ONLY := 1前面的注释
去掉OPENCV_VERSION := 3前面的注释

修改:
 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial  
 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

3)编译Caffe

make pycaffe
make all  
make test 
make runtest  
(需要重新编译就 make clean)

4)配置Python接口

sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc  
source ~/.bashrc

进入python环境,输入:
import caffe  
如果没有报错,安装成功。

第二部分  使用mnist

6个步骤,前面五个是数据准备与训练,最后一个是调用

这里插一句:

这部分用的不是原始图像数据,是mnist例子里的东西。

我另外收集了些资料,打包整理了一套完整流程,使用图像数据,进行转换格式、训练以及调用。

caffe mnist数据源+完整训练+调用代码:

https://download.csdn.net/download/jiyanglin/10403784

1)下载数据

caffe/data/mnist目录下执行  

sh get_mnist.sh 

2)数据转换

caffe目录下执行

sudo sh ./examples/mnist/create_mnist.sh

    

3)配置训练数据

caffe/examples/mnist/下新建文件夹model

修改caffe/examples/mnist/下lenet_solver.prototxt 文件:

snapshot_prefix字段修改:snapshot_prefix: "examples/mnist/model/lenet"

solver_mode:GPU  默认GPU,修改为CPU

4)开始训练

caffe目录下:

sudo sh ./examples/mnist/train_lenet.sh

5)测试

caffe目录下:

sudo ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/model/lenet_iter_10000.caffemodel

6)代码调用

在caffe目录下运行这个python代码文件

caffe/examples/mnist/  两个文件夹:mnist_train_lmdb, and mnist_test_lmdb

如果有访问权限,搞掉。不然运行会报错。

记得图像必须是28*28单通道,白底黑字。(因为训练时候用的就是这种图像)

调用函数的代码这样(目录得写全路径):

img = "/home/jyl/0.png"
proto = "/home/jyl/caffe/examples/mnist/lenet.prototxt"
model = "/home/jyl/caffe/examples/mnist/model/lenet_iter_10000.caffemodel"

test(img,proto,model)

代码如下:

import caffe
import numpy as np
import cv2

def test(img,proto,model):
    net = caffe.Net(proto, model, caffe.TEST)
    print net.blobs['data'].data.shape
    transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
    transformer.set_transpose('data', (2, 0, 1))
    transformer.set_raw_scale('data', 255)

im = caffe.io.load_image(img, False)

cv2.imshow("imgshow", im)
    cv2.waitKey(0)

net.blobs['data'].data[...] = transformer.preprocess('data', im)
    print net.blobs['data'].data

out = net.forward()
    print out

prob = net.blobs['prob'].data[0].flatten()
    print prob

order = prob.argsort()[-1]
    print 'pic num:', order

img = "/home/jyl/0.png"
proto = "/home/jyl/caffe/examples/mnist/lenet.prototxt"
model = "/home/jyl/caffe/examples/mnist/model/lenet_iter_10000.caffemodel"
test(img,proto,model

caffe mnist数据源+完整训练+调用代码

caffe(CPU版本)配置 及MNIST调用相关推荐

  1. Windows7下Caffe的应用---在Win7下使用VS2015、Camke、Anaconda3配置Caffe CPU版本

    前言 1.之前一直在Linux使用Caffe做机器学习的相关的项目,相对于Linux,在Windows配置Caffe相对麻烦一些,我这里使用Cmake gui版本,适合新手操作. 2.我配置的环境是w ...

  2. win7 + Caffe CPU版本安装

    步骤1:VS2013的下载安装                                                                                     ...

  3. ubuntu16.04下载caffe(CPU版本)及部分文件说明

    一.caffe下载   caffe的下载是个麻烦的过程,真是废了九牛二虎之力.分CPU版本和GPU版本.在GPU版本中需要使用到CUDA驱动,所以显卡必须是英伟达(Nvidia)的显卡.可通过以下命令 ...

  4. 虚拟机 ubuntu 16 安装caffe CPU版本 安装open pose

    虚拟机 ubuntu 16.14 open CV 3.3.0 caffe   CPU openpose https://github.com/CMU-Perceptual-Computing-Lab/ ...

  5. Caffe(CPU-only)版本在windows下的安装及配置

    参考文章 win7 + Caffe CPU版本安装 Caffe初体验之Caffe-Windows的配置(CPU/GPU)与Mnist数据集测试 win10下装caffe的cpu版本详解 Windows ...

  6. 记录配置faster rcnn(caffe)CPU版本遇到的问题

    运行Faster-Rcnn代码 与Faster-Rcnn一样Faster-Rcnn官方也是采用caffe作为框架. 首先将项目克隆到本地(需要挂代理) Make sure to clone with ...

  7. caffe(cpu)配置之终极成功版哈哈哈

    前言 历经几十次的caffe安装经历,终于对它的安装过程有了更深的理解,碰到一些bug也知道如何避过.我先重启一下,如果还能正常进入ubuntu那咱们就把配置过程详细叙述一下(因为之前也配置成功做,重 ...

  8. Windows7下Caffe-SSD的应用(一)——在Windosw7下编译配置Caffe-SSD CPU版本

    前言 1.用过Caffe的GooglNet做图像分类的相关项目,比起传统的办法,效果要好很,在目标检测这块,之前也用传统的HOG加SVM实现过车辆,行人和马匹的检测,但正样本要上万图像,才能达到能应用 ...

  9. 2022-01-18 Caffe+Window11+Visual Studio 2015+Python3.5 CPU+GPU 配置详细教程

    2022-01-18 Caffe+Window11+Visual Studio 2015+Python3.5 CPU+GPU 配置教程 文章目录 前言 1.开篇背景 一.资源准备 二.配置过程-雷区 ...

  10. Windows10 64位 + caffe + Matlab -- cpu版本

    Windows10 64位 + caffe + Matlab – cpu版本 最近需要用到 windows 下 matlab 的 caffe 接口.所以进行环境配置,配置也花了一点时间,记录一下配置过 ...

最新文章

  1. 9月29日,访问量4200,留个脚印
  2. BLE 包结构及传输速率
  3. Web存储机制—sessionStorage,localStorage使用方法
  4. Linux监控平台搭建( zabbix监控)
  5. pymysql单条插入数据和批量插入数据:
  6. es6语法-对象拓展运算符
  7. fit、transform与fit_transform
  8. jq之animate()操作多个属性
  9. Ubuntu 16.04 折腾日记
  10. 最新php下拉菜单制作,纯CSS制作的下拉菜单
  11. 「Java工具类」Apache的Beanutils和PropertyUtils工具类
  12. delphi软件工程师面试试题
  13. VC编程--玩转控件(Windows编程简介)
  14. 车联网群雄逐鹿,通信业将如何掘金?
  15. C# 实现数字转汉字大写
  16. BZOJ1050 旅行comf
  17. python可以构建sem模型_Python Pandas Series.sem()用法及代码示例
  18. ECCV2022|何恺明团队开源ViTDet:只用普通ViT,不做分层设计也能搞定目标检测...
  19. 笔记本键盘两个ctrl键同时失灵怎么解决?
  20. 什么是reactor模式?

热门文章

  1. 空气投影+生物识别,支付宝的“如影计划”还有多少硬仗要打?
  2. 防止他人复制网站内容
  3. Unitils集成DBUnit的问题-解决方案
  4. BZOJ4373 : 算术天才⑨与等差数列
  5. OpenSource.com 评出 2014 年十佳开源软件
  6. struts2与json的整合
  7. ******多个政府网站 嫌犯潜逃永州落网
  8. 基于HTTP协议的轻量级开源简单消息队列服务:HTTPSQS
  9. 微信小程序网络请求封装
  10. ScrollView中Spinner问题