服务器上安装Anaconda、tensorflow、opencv吐血总结

来源:互联网 发布:知乎液态金属散热 编辑:程序博客网 时间:2024/05/21 08:51

1、Anaconda

首先安装anaconda。

什么是anaconda呢?参考于博客,

Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

怎么安装呢?参考于博客,基本不会遇到什么问题,完美搞定。

2、Tensorflow

然后是安装tensorflow,这个直接按照官网教程即可。选择anaconda模式安装,并且选择了支持GPU模式。

但是在安装过程中遇到了一个小问题:

importerror libcudnn.so.6:cannot open shared object file failed to load the native tensorflow runtime python2.7.13

查了好多资料啊,找不到怎么解决啊,终于在一篇博客中找到,很明显,我装的是tensorflow1.3,而我的服务器上cudnn是5.1版本,真是心累,果断换了tensorflow1.2安装,果然没问题了。

3、OpenCv

最后安装opencv,嗯,各种问题啊!!崩溃啊!!

3.3 安装教程

看了各种安装教程,主要参考了一下几篇博客。

博客1
博客2
博客3
博客4

安装的是opencv2.4.9.

下面说下我的安装过程以及遇见的各种坑!!

1、首先安装各种依赖库,

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev  

2、然后根据博客中说的,下载了opencv2.4.9的安装包,并解压。

3、在解压后的路径下创建release文件夹,并进入到改路径下。

mkdir release cd release

4、编译安装,cmake生成make文件,并执行make,sudo make install操作。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make

结果在make的时候出现问题:

cmake error at cuda_compile_generated_matrix_operations.cu.o.cmake:208

这里主要是因为cuda的关系,参考于博客,在cmake时添加了:

cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

问题得到解决。

再次make,又出现问题:

cmake error at cuda_compile_generated_NCVPyramid.cu.o.cmake:266

继续查,参考于博客1,博客2,

修改出错误的文件,NCVPixelOperations.hpp,将文件中所有的static全部删掉。

问题得到解决。

再次make,又又又出现问题:

‘NPPiGraphcutState’ has not been declared typedef NppStatus

好气啊,但还是要解决,参考于博客,

进入opencv-2.4.9/modules/cudalegacy/src/目录,修改graphcuts.cpp文件,将:

#include "precomp.hpp"#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)改为#include "precomp.hpp"#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

另外博客中也提到了这个问题:

这里写图片描述

看到这里,气的我想去重新安装opencv-2.4.13.

重新cmake,make,终于没问题了啊!!

5、测试

就是不行,又去各种查看安装步骤是否出错。

这里写图片描述

这里写图片描述

6、暂时还没找到问题所在,先放着,有别的事要做,待会再来解决这个东西,生气啊!!

7、想了想可能是Python配置opencv出现了问题,opencv应该是已经安装好了的,于是先测试一下。

参考于博客

在某个目录下建立一个test.cpp文件

#include <cv.h>#include <highgui.h>using namespace cv;int main(int argc, char* argv[]) {    std::cout<<CV_VERSION<<std::endl;    return 0;}

同目录,新建一个文件CMakeLists.txt,写入如下内容

project(test)  find_package(OpenCV REQUIRED)  add_executable(test test)  target_link_libraries(test ${OpenCV_LIBS})  cmake_minimum_required(VERSION 2.8)

编译成可执行文件

  cmake .  make

进入test.cpp目录中,键入

 ./test

如果能看到’2.4.9’,那就表示成功了。

这里写图片描述

8、所以说,不是安装的问题,是配置的问题。

仍然参考上一篇博客,

将opencv编译后的python库加入python路径中

你可以在python终端键入:

import sysprint sys.path

它将输出许多地址,然后将

/usr/local/lib/python2.7/site-packages/cv2.so

移动到以上任意一个目录下即可。

9、此时,打开Python,import cv2成功。

这里写图片描述

10、以上。


原创粉丝点击