1、
1.1 opencv static linux
mkdir build & cd build
cmake .. -LH 這句話用來查看編譯選項 如果不知道編譯啥 可以用這個查看一下~
cmake \
-D CMAKE_INSTALL_PREFIX=/work/lib/opencv/ubuntu14/2.4.13 \
-D BUILD_SHARED_LIBS=OFF \
-D WITH_CUDA=OFF \
-D WITH_OPENCL=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_opencv_world=ON \
-D WITH_FFMPEG:BOOL=OFF \
-D BUILD_opencv_videoio=OFF \
-D BUILD_JPEG=ON \
-D BUILD_PNG=ON \
..
注: 如果要加入contrib , 則需要加入如下選項:
-D OPENCV_EXTRA_MODULES_PATH="../../contrib/modules" 即
如果要加入libpng libjpeg
-D BUILD_JPEG=ON \ -D BUILD_PNG=ON \
若需要編譯dnn 則需要cmake版本3.5.1 以上, 這里是cmake 3.6.0 下載鏈接
https://download.csdn.net/download/u011258240/11122952
可能出現的錯誤:
1.In-source builds are not allowed : 刪掉CMakeCache.txt 然后重新編譯
2. ipp 下載失敗 打開\build\CMakeDownloadLog.txt 就可以看到下載鏈接了 下載下來即可
1.2. opencv + win10
取消勾選 JAVA python cuda test , 添加 install 安裝目錄 , configure , generate

3.4的依賴
Libs: -L${exec_prefix}/lib/x86_64-linux-gnu
-lopencv_dnn -lopencv_ml -lopencv_objdetect -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_imgproc -lopencv_flann -lopencv_core
-L${exec_prefix}/share/OpenCV/3rdparty/lib/x86_64-linux-gnu
-littnotify -llibprotobuf -lzlib -llibjpeg -llibwebp -llibpng -llibtiff -llibjasper -lIlmImf -lippiw -lippicv -ldl -lm -lpthread -lrt -lz
2. caffe
編譯機器
1. 安裝依賴
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler libatlas-base-dev cmake python-pip
2. 安裝 numpy
pip install numpy
3 安裝caffe動態庫
下載caffe源碼
wget https://github.com/BVLC/caffe/archive/1.0.tar.gz
cd caffe-1.0.0
cp Makefile.config.example Makefile.config
更改Makefile.config
第八行 CPU_ONLY := 1 打開,表示只使用CPU,如果你用GPU 這一步就不用做了。
修改 cmake/Dependencies.cmake
最頂部加入:
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/work/lib/opencv/3.3")
find_package(OpenCV 3.3.0 REQUIRED)
mkdir build
cd build
cmake ../ -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=install
#### cmake . -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=install
【可選項】修改caffe 源碼,使其不要在控制台打印一大堆東西, 將src/caffe/common.cpp GlobalInit 源碼替換為如下
void GlobalInit(int* pargc, char*** pargv) {
{
// Google flags.
::gflags::ParseCommandLineFlags(pargc, pargv, true);
::google::InitGoogleLogging(*(pargv)[0]);
google::SetLogDestination(google::WARNING,"");
}
make
make install
cd MTCNN_Caffe
cmake .
make
運行機器:
apt-get install libgoogle-glog-dev libopencv-dev
3. CUDA
3.1cuda sdk
https://developer.nvidia.com/cuda-toolkit-archive
-
- `sudo dpkg -i cuda-repo-ubuntu1404-10-0-local-10.0.130-410.48_1.0-1_amd64.deb`
- `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
- `sudo apt-get update`
- `sudo apt-get install cuda`
其中 Windows版本 VS需要配置 : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\visual_studio_integration\MSBuildExtensions 復制到
$(你的路徑)\MSBuild\Microsoft\VC\v160\BuildCustomizations
3.2 驅動下載
https://www.nvidia.cn/Download/Find.aspx?lang=cn
nvidia-smi #查看當前驅動
ubuntu-drivers devices #查看系統建議安裝的驅動
apt-get isntall nvidia-430 #安裝驅動
可能出現的安裝錯誤: ERROR: Installation has failed. Please see the file ‘/var/log/nvidia-installer.log’ for details. You may find suggestions on fixing installation problems in t
解決方法: https://forums.developer.nvidia.com/t/installing-driver-fails-for-tesla-v100/83983
3.3cuDNN 依賴安裝
https://developer.nvidia.com/rdp/cudnn-archive
安裝cudnn 的時候下載 cudnn library , 不要下載runtime lib 和 dev lib
cuda 和cudnn 的刪除 https://blog.csdn.net/wanzhen4330/article/details/81704474
3.4 不同版本cuda切換
ln -sf cuda-8.0/ cuda
3.5 不同cudnn版本切換 :
ln -sf /usr/lib/x86_64-linux-gnu/libcudnn.so.7 /etc/alternatives/libcudnn_so
ln -sf /usr/include/x86_64-linux-gnu/cudnn_v7.h /etc/alternatives/libcudnn
3.6 nsight 下載地址
https://developer.nvidia.com/gameworksdownload#?tx=$gameworks,developer_tools
4. ubuntu14安裝tensorflow
#####cd tensorflow-1.13.1
pip install tensorflow
pip install tensorflow-gpu
5 RetinaNet 環境搭建
git clone https://github.com/fizyr/keras-retinanet.git
cd keras-retinanet
pip install numpy --user
pip install . --user
pip install --upgrade Pillow
訓練:
####keras_retinanet/bin/train.py pascal /root/darknet/VOCdevkit/VOC2007/
retinanet-train pascal /path/to/VOCdevkit/VOC2007
可能出現的錯誤:
1. Getting error: unknown file type '.pyx' when installing from source #13
解決辦法:
sudo apt-get remove python-setuptools
wget https://bootstrap.pypa.io/get-pip.py
sudo -H pip install -U pip setuptools
2. ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
解決辦法: 安裝CUDA 10.0
6. 搭建Tensorflow1.13 C++ 開發環境
6.1 linux
https://blog.csdn.net/gubenpeiyuan/article/details/80855644
版本需要按照以下來搭配 , 不然會出問題
https://www.tensorflow.org/install/source

192.168.1.208 tensorflow = 1.13.1
下載Tensorflow1.3.0 下載 bazel-0.4.5 cudnn6
tar -zxvf v1.3.0.tar.gz
./bazel-0.4.5-installer-linux-x86_64.sh
cd tensorflow*
bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so
可能出現的錯誤和解決方案:
bug: 'protobuf.bzl': no such package ... ...
fix: sed -i '\@https://github.com/google/protobuf/archive/0b059a3d8a8f8aa40dde7bea55edca4ec5dfea66.tar.gz@d' tensorflow/workspace.bzl
see it : https://github.com/tensorflow/tensorflow/issues/12979
使用Docker 編譯 (refer url: https://www.tensorflow.org/install/source?hl=zh-cn)
Docker 是為 TensorFlow 構建 GPU 支持的最簡單方法,因為主機只需安裝 NVIDIA® 驅動程序,而不必安裝 NVIDIA® CUDA® 工具包。如需設置 nvidia-docker,請參閱 GPU 支持指南和 TensorFlow Docker 指南(僅限 Linux)。
以下示例會下載 TensorFlow :devel-gpu-py3 映像並使用 nvidia-docker 運行支持 GPU 的容器。此開發映像已配置為構建支持 GPU 的 Python 3 pip 軟件包:
docker pull tensorflow/tensorflow:devel-gpu-py3 nvidia-docker run -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel-gpu-py3 bash git pull # within the container, download the latest source code
注意: 如果docker 不小於19.03 需要使用 ... docker run --gpus all -it 命令
然后,在該容器的虛擬環境中,構建支持 GPU 的 TensorFlow 軟件包:
./configure # answer prompts or use defaults #####bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt # create package chown $HOST_PERMS /mnt/tensorflow-version-tags.whl
注意:1.如果提示bazel版本不匹配,去git下載一個編譯好的版本
2. configure 的編譯選項的含義參考 https://blog.csdn.net/yhily2008/article/details/79967118
在該容器中安裝和驗證軟件包並檢查是否有 GPU:
pip uninstall tensorflow # remove current version pip install /mnt/tensorflow-version-tags.whl cd /tmp # don't import from source directory python -c "import tensorflow as tf; print(tf.contrib.eager.num_gpus())"
6.2 Windows 安裝: (放棄了)
1) download swig exe : http://www.swig.org/
編譯成靜態庫:
http://www.luohanjie.com/2019-07-17/build-tensorflow-c-static-libraries.html
7. bazel 編譯 transform_graph (下載最新版的bazel 和 tensorflow)
bazel build tensorflow/tools/graph_transforms:transform_graph
8 交叉編譯opencv
http://bbs.ebaina.com/forum.php?mod=viewthread&tid=38496&highlight=opencv
vi cmake/OpenCVCompilerOptions.cmake
最末尾添加:
if(ENABLE_NEON) add_extra_compiler_option("-mcpu=cortex-a7 -mfpu=neon") endif()
vi CMakeList.txt
將NEON那行改為:
OCV_OPTION(ENABLE_NEON "Enable NEON instructions" ON )
cmake \
-D CMAKE_INSTALL_PREFIX=/work/lib/opencv/arm-hisi/2.4.13 \
-D BUILD_SHARED_LIBS=ON \
-D WITH_CUDA=OFF \
-D WITH_OPENCL=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_opencv_world=OFF \
-D WITH_FFMPEG:BOOL=OFF \
-D BUILD_opencv_videoio=OFF \
-D BUILD_JPEG=ON \
-D BUILD_PNG=ON \
-DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake \
-DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-g++ \
-DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-gcc \
-DCMAKE_AR=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-ar \
-DCMAKE_LINKER=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-ld \
-DCMAKE_NM=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-nm \
-DCMAKE_OBJCOPY=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-objcopy \
-DCMAKE_OBJDUMP=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-objdump \
-DCMAKE_STRIP=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-strip \
..
9 openFrameWorks
https://openframeworks.cc/download/older/
安裝0.90
10 VS2012 下載地址
http://download.microsoft.com/download/B/0/F/B0F589ED-F1B7-478C-849A-02C8395D0995/VS2012_ULT_chs.iso
產品密鑰
-
YKCW6-BPFPF-BT8C9-7DCTH-QXGWC
-
RBCXF-CVBGR-382MK-DFHJ4-C69G8
-
YQ7PR-QTHDM-HCBCV-9GKGG-TB2TM
-
YKCW6-BPFPF-BT8C9-7DCTH-QXGWC
11 glfw-3 安裝
isntall libglfw3
https://launchpad.net/ubuntu/xenial/amd64/libglfw3/3.1.2-3
install libglfw3-dev
https://launchpad.net/ubuntu/yakkety/amd64/libglfw3-dev/3.1.2-3
12 VS 舊版本 https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
13 docker 安裝 pytorch
https://medium.com/@zaher88abd/pytorch-with-docker-b791edd67850
14 docker 查看鏡像版本
去網站 https://hub.docker.com/ 搜索鏡像, 點開星星最多的鏡像, 在tags 里面搜索符合的鏡像 , 然后pull
docker pull tensorflow/tensorflow:1.15.2-gpu
15 安裝Nvidia-docker
添加源
istribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update
安裝
sudo apt install nvidia-container-toolkit
systemctl restart docker

