从0搭建MXNet环境

安装知识点

01 目标

  1. 在没有Linux环境的前提下,从头开始安装Linux环境与cuda
  1. 并且编译安装mxnet的gpu加速环境
  2. 及配置python接口。

02 步骤

  1. 安装ubuntu 16.04
  2. 安装cuda 8.0
  3. 安装anaconda3
  4. 编译mxnet 0.94
  5. 安装opencv3

03 说明

  1. 为什么使用16.04?

目前最新的长期支持版本,安装一些新玩意的时候,少解决大量的依赖,比如最常用的gcc版本依赖。

  1. 为什么使用cuda?

这还用说,玩深度学习,必备环境。

  1. 为什么使用anaconda3?

集成Python大量包,方便,方便,还是TMD的方便。

  1. 为什么使用MXNet?

因为速度快,多API支持,多GPU支持,……

  1. 为什么使用opencv?

这个……,据说scikit-image更好用呢。只是,目前图像领域的标配吧。为什么使用编译好的包安装?等你从源码编译安装过就知道了。

环境配置,她就是一个磨人的小妖精,不注意的话,会让很多初学者折在里面。

04 具体步骤要点记录

4.1 安装Ubuntu 16.04

使用etcher写入镜像到u盘,unetbootin写入的镜像老是会在校验文件的时候出现问题,目前16.04的镜像检查中已经能识别出unetbootin了,并会做相应的提示。

etcher可以用在mac,windows, linux环境下,下面是其界面:


etcher界面

剩下的Linux安装,就是常规的步骤了,不述。

4.2 安装cuda

下载安装cuda环境,差不多2G,使用下面命令进行安装:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb 
sudo apt-get update 
sudo apt-get install cuda

在安装cuda之前,不需要先安装Nvidia的驱动程序,cuda已经包括了驱动。必须要注意一点的是:关闭bios的UEFI安全功能, 因为uefi出于安全性,要求所有内核模块必须要签名,像Nvidia这样的第三方驱动模块,签名不好弄。安装过程中,不关闭UEFI功能,始终无法加载nvidia模块。

使用nvidia-smi命令,如果显示正常,说明cuda安装成功。

4.3 安装anaconda3

下载最新的Anaconda3版本(使用Python3),国内请使用清华大学的地址下载:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择最新的4.3版本,差不多500M,下载下来使用命令安装:

sudo bash Anaconda3-4.3.0-Linux-x86_64.sh  
知识星球.jpeg

4.4 编译mxnet

下载最新源码,编译mxnet:

# clone源码
git clone https://github.com/dmlc/mxnet.git ~/mxnet --recursive

# 要求环境
sudo apt-get update
sudo apt-get install -y build-essential libatlas-base-dev libopencv-dev

# 编辑配置文件: mxnet/make/config.mk
USE_CUDA = 1 
USE_CUDA_PATH = /usr/local/cuda 
USE_OPENCV = 1

# 使用全部cpu核编译(不报错就编译成功)
make -j$(nproc)

# 安装python包
cd python
# 使用前面安装的anaconda3环境
/opt/anaconda3/bin/python setup.py install

此时,打开ipython交互环境,import mxnet,还是会报GOMP版本的错误。根据错误的信息,搜索各种答案,应该是当前系统的gcc版本是5.4,因此编译mxnet是支持了GOMP协议的4.0版本,而anaconda3使用的是gcc4.8编译,只支持GOMP协议的3.0。

最简单的方法,就是更新anaconda3的两个库文件:

# libgomp.so
ln -sf /usr/lib/x86_64-linux-gnu/libgomp.so.1 /opt/anaconda3/lib/libgomp.so.1.0.0
ln -sf /usr/lib/x86_64-linux-gnu/libgomp.so.1 /opt/anaconda3/pkgs/libgcc-4.8.5-2/lib/libgomp.so.1.0.0

# libstdc++.so
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/anaconda3/lib/libstdc++.so.6

安装opencv3的python包

因为opencv3的编译过程太麻烦,曾经尝试过编译opencv3的python2与python3,中途出了很多问题,最终的python2环境也始终无法应用。

后来找到一个简单方法,直接下载编译好的opencv3包,使用conda命令安装。

根据自己的版本,去下面地址下载对应的包:

https://anaconda.org/menpo/opencv3/files

比如,下载了包:opencv3-3.1.0-py36_0.tar.bz2

直接使用conda命令安装:

/opt/anaconda3/bin/conda install opencv3-3.1.0-py36_0.tar.bz2

在ipython交互下,import cv2不报错,即安装成功。

最麻烦的环境已经配置好了,可以开始你的MxNet探索了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容