caffe配置Makefile.config----ubuntu16.04--重点是matlab的编译
来源: http://blog.csdn.net/daaikuaichuan/article/details/61414219
配置Makefile.config(参考:http://blog.csdn.net/autocyz/article/details/51783857 )
折腾到这一步,离成功就不远了,接下来就是配置之前搁置的Makefile.config,进入caffe根目录,使用vim编辑器打开Makefile.config。
在打开的Makefile.config修改如下内容(我自己的配置):
USE_OPENCV := 1 USE_LEVELDB := 1 USE_LMDB := 1 CUSTOM_CXX := g++ CUDA_DIR := /usr/local/cuda-7.5 CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \ -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_50,code=compute_50 BLAS := atlas MATLAB_DIR := /home/eric/MATLAB2014/R2014a PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include PYTHON_LIB := /usr/local/lib WITH_PYTHON_LAYER := 1 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 /usr/lib/x86_64-linux-gnu/hdf5/serial BUILD_DIR := build DISTRIBUTE_DIR := distribute
9、make所有文件
进入caffe根目录,输入如下命令:
sudo make clean sudo make all -j4 sudo make test -j4 sudo make runtest -j4 sudo make pycaffe -j4 sudo make matcaffe -j4
在命令行下输入Python,会出现Python的一些信息,然后输入import caffe,没有报错说明配置成功。在命令行下输入matlab,会打开MATLAB软件。
如果前面所有的配置过程都没有问题的话,最后一步应该是不会出错的。至此,caffe所有的配置项都完成了,接下来就可以愉快地使用这个强大的深度学习框架了。
下面的是我的实际用的:
## Refer to http://caffe.berkeleyvision.org/installation.html # Contributions simplifying and improving our build system are welcome! BUILD_PYTHON:=1 BUILD_MATLAB:=1 BUILD_docs:=1 BUILD_SHARELIB:=1 # cuDNN acceleration switch (uncomment to build with cuDNN). USE_CUDNN := 1 # CPU-only switch (uncomment to build without GPU support). # CPU_ONLY := 1 # uncomment to disable IO dependencies and corresponding data layers USE_OPENCV := 1 USE_LEVELDB := 1 USE_LMDB := 1 # uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary) # You should not set this flag if you will be reading LMDBs with any # possibility of simultaneous read and write # ALLOW_LMDB_NOLOCK := 1 # Uncomment if you're using OpenCV 3 # OPENCV_VERSION := 3 # To customize your choice of compiler, uncomment and set the following. # N.B. the default for Linux is g++ and the default for OSX is clang++ CUSTOM_CXX := g++ # CUDA directory contains bin/ and lib/ directories that we need. CUDA_DIR := /usr/local/cuda # On Ubuntu 14.04, if cuda tools are installed via # "sudo apt-get install nvidia-cuda-toolkit" then use this instead: # CUDA_DIR := /usr # CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility. # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility. CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \ -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_52,code=sm_52 \ -gencode arch=compute_60,code=sm_60 \ -gencode arch=compute_61,code=sm_61 \ -gencode arch=compute_61,code=compute_61 # BLAS choice: # atlas for ATLAS (default) # mkl for MKL # open for OpenBlas BLAS := atlas # Custom (MKL/ATLAS/OpenBLAS) include and lib directories. # Leave commented to accept the defaults for your choice of BLAS # (which should work)! BLAS_INCLUDE := /usr/include BLAS_LIB := /usr/lib # Homebrew puts openblas in a directory that is not on the standard search path # BLAS_INCLUDE := $(shell brew --prefix openblas)/include # BLAS_LIB := $(shell brew --prefix openblas)/lib # This is required only if you will compile the matlab interface. # MATLAB directory should contain the mex binary in /bin. MATLAB_DIR := /usr/local/MATLAB/R2016b # MATLAB_DIR := /Applications/MATLAB_R2012b.app # NOTE: this is required only if you will compile the python interface. # We need to be able to find Python.h and numpy/arrayobject.h. PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include #PYTHON_LIB:=/usr/lib/x86_64-linux-gnu/libpython2.7.so # Anaconda Python distribution is quite popular. Include path: # Verify anaconda location, sometimes it's in root. # ANACONDA_HOME := $(HOME)/anaconda # PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ # $(ANACONDA_HOME)/include/python2.7 \ # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include # Uncomment to use Python 3 (default is Python 2) # PYTHON_LIBRARIES := boost_python3 python3.5m # PYTHON_INCLUDE := /usr/include/python3.5m \ # /usr/lib/python3.5/dist-packages/numpy/core/include # We need to be able to find libpythonX.X.so or .dylib. PYTHON_LIB := /usr/lib /usr/local/lib /usr/lib/x86_64-linux-gnu/ # PYTHON_LIB := $(ANACONDA_HOME)/lib # Homebrew installs numpy in a non standard path (keg only) # PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include # PYTHON_LIB += $(shell brew --prefix numpy)/lib # Uncomment to support layers written in Python (will link against Python libs) WITH_PYTHON_LAYER := 1 # Whatever else you find you need goes here. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib # If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies # INCLUDE_DIRS += $(shell brew --prefix)/include # LIBRARY_DIRS += $(shell brew --prefix)/lib # NCCL acceleration switch (uncomment to build with NCCL) # https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0) # USE_NCCL := 1 # Uncomment to use `pkg-config` to specify OpenCV library paths. # (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.) # USE_PKG_CONFIG := 1 # N.B. both build and distribute dirs are cleared on `make clean` BUILD_DIR := build DISTRIBUTE_DIR := distribute # Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171 # DEBUG := 1 # The ID of the GPU that 'make runtest' will use to run unit tests. TEST_GPUID := 0 # enable pretty build (comment to see full commands) Q ?= @ #INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ INCLUDE_DIRS := $(INCLUDE_DIRS) /usr/local/include /usr/include/hdf5/serial/ LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial LIBRARY_DIRS:=$(LIBRARIES_DIRS) /usr/lib/x86_64-linux-gnu/hdf5/serial
sea@sea-X550JK:~/caffeM/caffe$ ll matlab/+caffe/ 总用量 76 drwxrwxr-x 5 sea sea 4096 11月 9 17:26 ./ drwxrwxr-x 5 sea sea 4096 11月 9 17:26 ../ -rw-rw-r-- 1 sea sea 2930 11月 9 17:26 Blob.m -rw-rw-r-- 1 sea sea 1207 11月 9 17:26 get_net.m -rw-rw-r-- 1 sea sea 298 11月 9 17:26 get_solver.m drwxrwxr-x 2 sea sea 4096 11月 9 17:26 imagenet/ -rw-rw-r-- 1 sea sea 1742 11月 9 17:26 io.m -rw-rw-r-- 1 sea sea 841 11月 9 17:26 Layer.m -rw-rw-r-- 1 sea sea 4912 11月 9 17:26 Net.m drwxrwxr-x 2 sea sea 4096 11月 10 19:48 private/ -rw-rw-r-- 1 sea sea 172 11月 9 17:26 reset_all.m -rw-rw-r-- 1 sea sea 393 11月 9 17:26 run_tests.m -rw-rw-r-- 1 sea sea 250 11月 9 17:26 set_device.m -rw-rw-r-- 1 sea sea 97 11月 9 17:26 set_mode_cpu.m -rw-rw-r-- 1 sea sea 97 11月 9 17:26 set_mode_gpu.m -rw-rw-r-- 1 sea sea 1872 11月 9 17:26 Solver.m drwxrwxr-x 2 sea sea 4096 11月 9 17:26 +test/ -rw-rw-r-- 1 sea sea 110 11月 9 17:26 version.m sea@sea-X550JK:~/caffeM/caffe$
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi export PYTHONPATH=/usr/local:$PYTHONPATH export PYTHONPATH=$PYTHONPATH:/home/sea/caffe2/build export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH export PYTHONPATH=/home/sea/caffeM/caffe/python:$PYTHONPATH export PATH=$PATH:/home/sea/caffeM/caffe/build/tools/:/usr/local/cuda-8.0/bin export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib:$LD_LIBRARY_PATH export PYTHONPATH=$PYTHONPATH:/home/sea/caffeM/caffe/python export PATH=$PATH:/usr/local/MATLAB/R2016b/bin export MATLABDIR=/usr/local/MATLAB/R2016b export Matlab_mex=/usr/local/MATLAB/R2016b/bin/mex export Matlab_mexext=/usr/local/MATLAB/R2016b/bin/mexext
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!