Anaconda python2.7 + opencv3.2 + mxnet 安装、配置、解决方法

来源:互联网 发布:淘宝咋弄选购热点 编辑:程序博客网 时间:2024/05/22 12:52

一、Anaconda 安装与import cv2失败

1. 从清华大学开源软件镜像站下载Anaconda,Python3.62.7版本,3264位。 地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我下载的是

Anaconda2-5.0.1-Linux-x86_64.sh

2. 下载之后直接bash 安装即可

  $bash Anaconda2-5.0.1-Linux-x86_64.sh

过程中有一步骤需要选择是否加入到环境变量选择yes;

如果选择了否,安装完成后需要进行以下操作;

1打开编辑bashrc

$sudo gedit ~/.bashrc

2添加如下环境变量

# added by Anaconda2 installer

$export PATH="/home/zch/anaconda2/bin:$PATH"

$source  ~/.bashrc 更新一下,在终端输入python出现Anaconda表示安装正确。

 

3. 安装opencv 后,在终端输入python导入组件 import cv2会提示找不到cv2

这是因为Anaconda 安装之后/home/zch/anaconda2/lib 目录下没有cv2.so文件,该文件是连接opencvpython的关键文件。

将目录 /usr/local/lib/python2.7/dist-packages中的cv2.so文件copy

/home/zch/anaconda2/lib

同样添加python  anaconda环境变量

$export PYTHONPATH=/home/zch/anaconda2/lib:$PYTHONPATH

此时import cv2 没有问题了。

二、Mxnet安装编译

1下载Mxnet源码

$git clone https://github.com/zhleternity/mxnet --recursive

$cd mxnet

2修改配置文件。

$sudo gedit config.mk

虚拟机上不能用CUDA,所以将这几个选项制零

USE_CUDA = 0

USE_CUDA_PATH = NONE

USE_CUDNN = 0

3开始编译

$make -j8

可能存在问题:mxnet/cython/./base.pyi:54:32: Syntax error in C variable declaration

解决方法:sudo apt-get remove --purge cython

可能存在问题:#error "Currently we need g++ 4.8 or higher to fully support c++11 features"  

需要增加g++的版本到4.8及其以上,查看g++版本号,不是4.8需要升级。

$g++ --version

#加入此源为必须,否则容易查找不到要升级的版本

$sudo add-apt-repository ppa:ubuntu-toolchain-r/test

$sudo apt-get install gcc-4.8

$sudo apt-get install g++-4.8

/usr/bin目录下会发现有gcc-4.8gcc-4.7g++-4.8g++4.7,而当前目录下的软链接gccg++默认指向的是gcc-4.7g++-4.7,可以通过修改软链接的方式,使其gccg++链接gcc-4.8g++-4.8,再次执行如下:

$ cd /usr/bin  

$ sudo rm gcc g++  

$ sudo ln -s gcc-4.8 gcc  

$ sudo ln -s g++-4.8 g++  

参考文章:

Ubuntu14.04 LTS中升级gcc/g++版本到4.9.4的操作步骤》

http://blog.csdn.net/fengbingchun/article/details/61615734

 

4编译完成后安装

进到python/文件夹,然后

sudo python setup.py install

记得在环境变量添加/home/zch/MXNet/mxnet/python

export PYTHONPATH=/home/zch/anaconda2/lib:/home/zch/MXNet/mxnet/python:$PYTHONPATH

现在

$python

$import mxnet

成功导入就可以使用了

5手写字体识别示例:

转到路径/MXNet/mxnet/example/image-classification

并执行python脚本 python train_mnist.py


 

原创粉丝点击