Caffe-01-入门环境配置

简介: Caffe-01-入门环境配置

学习内容


本文主要学习在linux操作系统下的caffe框架的搭建和基本配置。

开发环境


ubantu16.04 VMwave

caffe介绍


image.png

caffe开发流程


caffe框架相对于TensorFlow等其他的主流开源框架相比最大的优点就是无需进行编写代码,开发者只需要对自己配置训练的框架结构熟悉即可完成相应的神经网络的框架构建。

对于caffe框架来说,完成训练需要进行以下步骤:

  1. 预处理数据(可以编写脚本运行进行预处理)
  2. 定义网络结构(可以通过编写protext文件进行结构设置)
  3. 定义solver参数(在配置完网络结构时,可以在solver参数配置文件中进行参数的配置)
  4. 训练(运行脚本即可完成)

caffe环境安装配置


首先要在自己的linux操作系统下安装所需要的依赖库:

在终端中输入以下命令。

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

安装完成后下载并安装caffe:

从 GitHub 上下载 Caffe: https://github.com/BVLC/caffe。 也可以输入以

下命令来下载。

sudo git clone https://github.com/BVLC/caffe.git

配置 Makefile.config 文件:

解压完成之后,对应文件夹中有 Makefile.config.example 文件,是 Caffe自带的 Makefile 的例子,复制这个文件并重命名为 Makefile.config,这里采用 cpu 训练,因此配置的时候需要取消掉 CPU_ONLY := 1这一行的注释。

如果没有安装vim 可以使用 pip 进行安装vim

image.png

并在这个文件做一下更改:

image.png

修改成下面的路径:

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

完成上述操作后可以进行编译caffe。make all或者make all -j4(四核)

编译成功后,在 Caffe 根目录下会出现一个 build 文件夹,打开之后再打

开 tools 文件夹,会得到下面的文件:

image.png

之后编译 test 文件下的源码,输入以下命令。

make test
make runtest

caffe环境测试


完成上述操作后即成功安装 Caffe。然后使用cifar10进行测试,可以使用下述命令进行下载:./data/cifar10/get_cifar10.sh

或者在caffe/data/cifar10/ 把cifar10的相关内容解压放置到该路径。这里可以使用共享文件夹在win下把压缩包下载,然后在caffe/data/cifar10/解压缩,得到以下文件:

image.png

将 examples/cifar10/cifar10_quick_solver.prototxt 中的 GPU改为 CPU;这里为了方便测试最大训练次数修改为500

image.png

将examples/cifar10/cifar10_quick_solver_lr1.prototxt中的GPU改为CPU;这里为了方便测试最大训练次数修改为500

image.png

依次输入以下指令:

/examples/cifar10/create_cifar10.sh
./examples/cifar10/train_quick.sh

即可进行训练,出现以下过程则说明训练正常,配置成功可用。

image.png

pycaffe 环境设置


Caffe 训练及测试时会用到 python 接口,下面进行pycaffe接口配置:

首先还是安装库:

sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn
python3-pip python-pip
sudo apt-get install python-skimage
sudo apt-get install python-h5py python-protobuf python-leveldb python-networkx pythonnose python-pandas python-gflags
sudo pip install Cython ipython

在命令行输入以下命令,

cd caffe
make pycaffe

即可开始编译 python 接口。

caffe的目录终端中输入:vim /etc/profile

在/etc/profile 文件的最后一行中添加环境变量:

export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

如下图所示:

image.png

之后输入source /etc/profile命令, 使之生效。

然后在终端中移动到python目录下cd python,然后键入python

在 python 中输入:

import caffe

若结果如下图所示,则 可以正常包括caffe python 接口配置成功。

image.png

环境安装中可能遇到的问题


ImportError: No module named typing


无法更新pip,并在更新时报错,可以依次进行以下操作进行更新解决。

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python get-pip.py
pip install upgrade

VMware下 Ubuntu 看不到共享文件夹之解决办法


在Ubuntu系统中的共享文件夹的路径为:/mnt/hgfs/

我们要经常使用win和linux进行文件传输时,可以建立一个类似桌面快捷方式的文件夹进行访问。

命令:ln -s [共享文件夹在ubantu的路径] ~/桌面/你自己创立的文件夹的名字

sudo ln -s /mnt/hgfs/共享文件夹名字/ ~/Desktop/你自己创立的文件夹的名字

解决sys.stderr.write(f“ERROR: {exc}“)


解决方法为重新升级安装一次 pip,如下:

wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
python3 get-pip.py

解决出现”No module named _caffe”的错误


可在caffe目录下尝试重新输入以下命令:

make clean
make pycaffe
目录
相关文章
|
Oracle 关系型数据库 Linux
CentOS7下安装TigerVNC Server
CentOS7下安装TigerVNC Server
1788 0
CentOS7下安装TigerVNC Server
|
内存技术
【HARDWARE】 --- SPI接口协议介绍与应用说明
【HARDWARE】 --- SPI接口协议介绍与应用说明
2865 3
|
设计模式 JSON 架构师
你真的需要防腐层吗?DDD 系统间的7种关系梳理与实践
当提到系统间交互的时候,人们都会想到大名鼎鼎的防腐层,用来防止其他系统的模型变更对本系统造成影响。但是在实践这个模式的过程中,我们常常会遇到问题。此时我们也应该考虑下其他的系统交互方式。
28552 12
你真的需要防腐层吗?DDD 系统间的7种关系梳理与实践
|
JavaScript
Qt视频播放器[QMediaPlayer+QVideowidget]
本代码在Window10下运行,利用qMediaPlayer和qvideowidget实现视频文件mp4的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置
1838 0
|
11月前
|
存储 安全 数据处理
阿里云OSS如何支持大规模数据迁移和传输?
阿里云OSS凭借全球基础设施、无限扩展、高持久性、成本优化及安全防护等优势,成为企业大规模数据迁移与传输的首选。其支持智能分层存储、高速传输及多场景数据处理,提供端到端解决方案,助力企业高效构建全球化数据管道,实现数据价值最大化。
|
安全 网络协议 Ubuntu
【常见开源库的二次开发】HTTP之libcurl库——libcurl使用(二)
【常见开源库的二次开发】HTTP之libcurl库——libcurl使用(二)
4401 3
|
弹性计算 固态存储 ice
阿里云服务器ECS内存型2核16G、4核32G和8核64G配置实例、费用和性能参数表
本文整理了2025年阿里云服务器租赁价格表,涵盖2核16G、4核32G和8核64G配置收费标准。CPU内存比为1:8,提供多种实例规格如ECS内存型r8i、通用算力型u1等。价格由CPU内存、公网带宽及系统盘组成,支持优惠折扣(年付6.7折起)。文中详细列出各配置参考价格、公网带宽与系统盘收费,并对比不同实例规格性能,如Intel Xeon和AMD EPYC处理器系列,帮助用户选择高性价比方案。具体价格以阿里云官网为准。
1736 4
|
传感器 机器人 API
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
|
人工智能 自然语言处理 算法
AI时代的企业内训全景图:从案例到实战
作为一名扎根在HR培训领域多年的“老兵”,我越来越清晰地感受到,企业内训的本质其实是为企业持续“造血”。无论是基础岗的新人培训、技能岗的操作规范培训,还是面向技术中坚力量的高阶技术研讨,抑或是管理层的战略思维提升课,内训的价值都是在帮助企业内部提升能力水平,进而提高组织生产力,减少对外部资源的依赖。更为重要的是,在当前AI、大模型、Embodied Intelligence等新兴技术快速迭代的背景下,企业必须不断为人才升级赋能,才能在市场竞争中保持领先。
2229 13
|
网络性能优化 定位技术 C++
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
贝锐蒲公英云智慧组网采用自研智能选路技术,可根据实时网络状况自动选择最优路径,大幅降低延迟并提升传输速率。相较于传统单线模式下数据必须经由单一服务器转发导致高延迟与无备份线路的问题,蒲公英通过全球分布式节点与SD-WAN技术实现了智能实时导航能力。实测显示,智能选路可使通讯延迟降低5倍、传输速率提升百倍。该技术基于多云服务商的主干网络与FullMesh架构,能自动避开拥堵路径并确保网络可用性,即使面对线路故障也能自动切换,提供更快速、稳定和可靠的跨地区远程访问体验。
1084 3
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路