一、Anaconda 安装与import cv2 失败
1. 从清华大学开源软件镜像站下载Anaconda,分Python3.6和2.7版本,32和64位。 地址: 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文件,该文件是连接opencv与python的关键文件。
将目录 /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.8、gcc-4.7、g++-4.8、g++4.7,而当前目录下的软链接gcc、g++默认指向的是gcc-4.7、g++-4.7,可以通过修改软链接的方式,使其gcc、g++链接gcc-4.8、g++-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