ubuntu16.0.4编译caffe

本文详细介绍了在Ubuntu 16.0.4环境下,如何配置Caffe深度学习框架,包括安装NVIDIA驱动、CUDA、cuDNN、OpenCV等依赖,以及编译和测试Caffe的过程。通过MNIST数据集验证了Caffe的运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.环境说明
ubuntu16.0.4+cuda9.0+cudnn7.4+opencv3.4.1
安装nvidia驱动参考:
https://blog.youkuaiyun.com/weixin_37669089/article/details/85240943
cuda和cudnn配置参考:
https://blog.youkuaiyun.com/weixin_37669089/article/details/85255760
opencv3.4.1配置参考:
https://blog.youkuaiyun.com/weixin_37669089/article/details/86700654
2.安装相关依赖项

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

3.下载源码 https://github.com/BVLC/caffe,解压并重新命名为caffe.

4.因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子,因此,首先将Makefile.config.example的内容复制到Makefile.config: sudo cp Makefile.config.example Makefile.config

5.打开并修改配置文件:
sudo gedit Makefile.config #打开Makefile.config文件 根据个人情况修改文件:
a.若使用cudnn,则

#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
b.若使用的opencv版本是3的,则

#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.若要使用python来编写layer,则
将 #WITH_PYTHON_LAYER := 1
修改为 WITH_PYTHON_LAYER := 1
d.重要的一项 :
将 # Whatever else you find you need goes here. 下面的

1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为:

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

这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.

6.修改makefile文件
打开makefile文件,做如下修改:
将:

NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

7.编辑/usr/local/cuda/include/crt/host_config.h
将其中的第115行注释掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

8.编译
make all -j8 #-j根据自己电脑配置决定
编译过程中可能会出现如下错误:
错误内容1:
“fatal error: hdf5.h: 没有那个文件或目录”
解决办法:
step1:在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
将:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
替换为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
stept2:在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
错误内容2:
“libcudnn.so.5 cannot open shared object file: No such file or directory”
解决办法是将一些文件复制到/usr/local/lib文件夹下:
#注意自己CUDA的版本号!

1 sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
2 sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
3 sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig
4 sudo cp /usr/local/cuda-9.0/lib64/libcudnn.so.9 /usr/local/lib/libcudnn.so.9 && sudo ldconfig

9.测试
sudo make runtest

MNIST数据集测试
配置caffe完成后,我们可以利用MNIST数据集对caffe进行测试,过程如下:

1.将终端定位到Caffe根目录
cd ~/caffe

2.下载MNIST数据库并解压缩
./data/mnist/get_mnist.sh

3.将其转换成Lmdb数据库格式
./examples/mnist/create_mnist.sh

4.训练网络
./examples/mnist/train_lenet.sh
训练的时候可以看到损失与精度数值

### 如何在 Ubuntu 16.04 上安装 VMware #### 虚拟机环境准备 为了在 Ubuntu 16.04 上成功运行 VMware 工具,首先需要确保虚拟机已正确配置并启动。这通常涉及下载并安装 VMware Workstation 或其他兼容的虚拟化平台[^1]。 #### 下载 VMware Tools VMware 提供了一个工具集(称为 VMware Tools),用于增强客户操作系统与主机之间的交互体验。对于 Ubuntu 16.04 用户来说,在虚拟机设置完成后,可以通过以下方式获取 VMware Tools 的安装文件: - 在 VMware 主界面顶部导航栏找到 **“虚拟机”** -> **“安装 VMware Tools”**[^3]。 此操作会挂载一个 ISO 文件至虚拟机内部,其中包含了必要的驱动程序和实用程序。 #### 解压与编译 VMware Tools 一旦确认 VMware Tools 可用,则需按照下列指导完成其部署过程: 1. 打开终端窗口; 2. 切换到超级用户模式以便拥有足够的权限执行命令: ```bash sudo su ``` 3. 进入挂载点 `/mnt` 并复制 tarball 至家目录或其他合适位置: ```bash cp /mnt/VMwareTools*.tar.gz ~/ ``` 4. 返回用户的主目录解压该存档文件: ```bash cd ~ && tar zxpf VMwareTools*.tar.gz ``` 5. 移动到刚刚创建出来的临时工作区继续下一步骤: ```bash cd vmware-tools-distrib ./vmware-install.pl -d ``` 以上脚本将会自动检测当前系统的状态,并尝试构建适合于特定硬件架构的支持模块[^3]。 需要注意的是,尽管官方文档推荐安装完整的 VMware Tools 套件来获得最佳性能表现;然而也有观点认为仅依靠开源项目 `open-vm-tools` 就足以满足大多数日常需求而无需额外加载闭源组件[^4]。 因此如果遇到任何依赖关系错误或者内核不匹配等问题时,可以考虑直接从默认仓库安装简化版替代方案——即 apt-get install open-vm-tools-desktop ——它同样能够提供诸如时间同步、拖放支持等功能特性却省去了繁琐的手工干预环节。 ```bash sudo apt update sudo apt install open-vm-tools-desktop fuse ``` 这样既保证了基础功能可用性又减少了维护成本。 --- ### 注意事项 某些情况下可能会发现选项被禁用了比如灰色不可选的状态,这时候可能是因为缺少相应的许可权或者是由于先前未完全卸除旧版本残留数据所引起的问题。针对前者只需重新登录管理员身份即可解决;而对于后者则建议先彻底清理再重试整个流程直至成功为止[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值