shamangary's Blog

安裝Opencv 3.1.0,環境:python2, python3(opencv3,dlib,keras,tensorflow,pytorch)

| Comments

現在這個時代你的電腦都會安裝一堆不同版本的python和opencv,我們就安裝一次近年的東西當做例子看看其中的問題
先講結論:請愛用anaconda,真的,我沒有騙你,我查了好久嗚嗚。

1. Install opencv3.1.0 on python2.7 (不推薦,但是可用: not recommended, but useful)

=============先看下面一個項再執行這些指令,如果有cuda8.0是會出錯的=============

cd ~/opencv-3.1.0
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install

(-j8是指用幾個核心去處理會快非常多,數量以你的電腦規格為主,我的電腦好像可以到12)

How to fix the error: [cuda8.0 is not match with opencv3.1.0]

http://blog.csdn.net/yiranyhy/article/details/72935499

解决方法:

打开/home/yhy/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp

把此处改为:

#include "precomp.hpp"

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)  ||(CUDART_VERSION>=8000)

其中 ||(CUDART_VERSION>=8000)为后增加的内容

How to check?

$python
>>>import cv2
>>>cv2.__version__

沒有出現錯誤就是安裝正確

2. Install opencv3.1.0 on python3 (非常推薦: recommended)

如果你同時有python2和python3,上面的安裝可能只會讓你安裝到python2,你會發現你在python3中要import cv2會失敗!!!要解決的話要特別對python3做處理

======原本我用以下連結,但是他不會work,請不要用這方法了(Do NOT use this link)======
https://github.com/rainyear/lolita/issues/18

後來就使用anaconda虛擬環境來安裝又快又方便,是參考以下連結
https://github.com/twtrubiks/FaceDetect/tree/master/How%20Easy%20Install%20OpenCV%20%20for%20Python%20use%20Anaconda

安裝anaconda

1.下載檔案
https://conda.io/docs/user-guide/install/linux.html
2.執行(重要:最後結束時記得寫yes再跳出,他默認是no)

bash Anaconda-latest-Linux-x86_64.sh

3.重新整理~/.bashrc

source ~/.bashrc

先前的文章都是用手自己安裝
http://shamangary.logdown.com/posts/773013-install-torch7-cuda-cudnn-nvidia-driver

除了driver我還是推薦自己去下載安裝之外,其他像是cuda8.0和cudnn都不需要再像以前一樣麻煩了,
直接去anaconda搜尋版本安裝即可,一行搞定。

在anaconda環境安裝各種東西

建造一個名為cv3的虛擬環境,在裡面放入python3和opencv3

$conda create -n cv3 python=3.5.2
$source activate cv3
(cv3)$
(cv3)$conda install -c https://conda.anaconda.org/menpo opencv3
(cv3)$source deactivate
$

就是這麼簡單!!!!!!!請使用anaconda去安裝python3和opencv3!!!!!!!!!

當然還是要check

(cv3)$python
>>>import cv2
>>>cv2.__version__

如果要解除安裝的話就用以下

(cv3)$conda uninstall opencv3

注意自己安裝的代號是opencv3還是單純opencv,這會影響版本

接下來,如果你還需要dlib甚至是keras,甚至是tensorflow,pytorch怎麼辦捏!?

$source activate cv3
(cv3)$
(cv3)$conda install -c menpo dlib 
(cv3)$conda install -c conda-forge keras 
(cv3)$conda install -c anaconda tensorflow-gpu
(cv3)$conda install pytorch torchvision cuda80 -c soumith

就是這麼簡單!!!!!!!請愛用anaconda!!!!!!!!

注意如果使用pip安裝tensorflow是要選擇版本(python版本和gpu/cpu)的,請參考官方連結
https://www.tensorflow.org/install/install_linux

開啟和關閉環境

$source activate cv3
(cv3)$
(cv3)$source deactivate
$

刪除環境

$conda remove --name <the name> --all

Comments

comments powered by Disqus