(推荐一个我自己做的普法公众号,大可说法律,有法律方面咨询的可以关注)
准备工作
ubuntu20.04系统安装
https://blog.csdn.net/qq_43202953/article/details/108233758
cuda和cudnn安装
Ubuntu20.04 安装cuda和cudnn
https://blog.csdn.net/qq_43202953/article/details/107951031
opencv安装
安装必要依赖:
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
https://opencv.org/releases/ 下载安装包,我安装的是opencv-3.4.6.zip,然后将zip文件解压到home目录下:
接下来打开终端,进入解压后的文件
cd opencv-3.4.6/
创建一个编译文件夹build,并进入
mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 ..
注意命令复制,完成后:
然后执行
make
执行完make后,执行make install了,命令如下:
sudo make install
- OpenCV配置环境
查找opencv.pc文件
sudo find / -iname opencv.pc
sudo gedit /etc/profile.d/pkgconfig.sh
打开pkgconfig文件中加入下面一行:
export PKG_CONFIG_PATH=/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH
然后在终端输入下面命令进行激活:
source /etc/profile
验证是否配置成功,在终端输入下面命令:
pkg-config --libs opencv
配置OpenCV编译环境——加载动态库so库的路径:
sudo gedit /etc/ld.so.conf.d/opencv4.conf
打开的文件(可能空)写入:
/usr/local/opencv4/lib
再执行以下命令使刚才配置的路径生效
sudo ldconfig
- 测试OpenCV
打开在/opencv-4.0.0/samples/cpp/example_cmake目录下CMakeLists.txt文件的11行find_package(OpenCV REQUIRED)前面加上:
set(OpenCV_DIR /usr/local/opencv4/lib)
修改后,在该文件夹下(/opencv-3.4.6/samples/cpp/example_cmake)执行:
mkdir build && cd build
cmake ..
make
./opencv_example
编译成功!
可选安装Anaconda2
此布非必须
下载Anaconda2,进入文件夹,执行:
bash ./Anaconda2-2019.10-Linux-x86_64.sh
enter—yes-----enter----yes
使环境变量生效,执行
source ~/.bashrc
可在终端输入 conda list
查看是否安装好,若环境变量问题,可执行如下命令:
sudo gedit ~/.bashrc
export PATH="/home/用户名/anaconda2/bin:$PATH"
source ~/.bashrc
安装Caffe
以某论文程序为例,其他同学按照caffe官方安装下载即可。
安装依赖包
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential
同样使用 gedit 命令打开配置文件:
sudo gedit ~/.bashrc
打开后在文件最后加入以下两行内容:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
source ~/.bashrc
在下载好的 caffe 目录下直接调用以下命令完成复制操作 :
sudo cp Makefile.config.example Makefile.config
打开Makefile.config文件,
sudo gedit Makefile.config
更改前: # USE_CUDNN := 1
更改后:USE_CUDNN := 1
更改前:# OPENCV_VERSION := 3
更改后:OPENCV_VERSION := 3
更改前:
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
更改后:
CUDA_ARCH := -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
更改后:BLAS := open
更改前:PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
更改后:#PYTHON_INCLUDE := /usr/include/python2.7 \
#/usr/lib/python2.7/dist-packages/numpy/core/include
更改前:
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
# $(ANACONDA_HOME)/include/python2.7 \
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
更改后:
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
更改前:
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib
更改后:
# PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib
更改前:
# WITH_PYTHON_LAYER := 1
更改后:
WITH_PYTHON_LAYER := 1
更改前:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
更改后:
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
保存推出。
打开Makefile文件,注意是Makefile文件。
sudo gedit Makefile
找到这部分内容
##############################
# Derive include and lib directories
##############################
更改前:
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 \
opencv_imgcodecs opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
更改前:
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
更改后:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)