干货 | 深度学习环境搭建(入门篇)

admin 2022年6月22日12:24:18安全闲碎评论6 views6508字阅读21分41秒阅读模式

与其相忘于江湖,不如点击“蓝字”关注

干货 | 深度学习环境搭建(入门篇)

本文作者——肖何  


插播广告:

肖老师的【大数据高薪就业班】即将开启,快乐学习模式,超强实战项目,一对一深度辅导,100%高薪就业,还等什么,点击阅读原文申请试听吧!关注大数据学习,关注e安在线!


我是干货开始的分割线

机器学习是人工智能最热门的领域之一。作为学习爱好者,尝试管中窥豹,看看如何下手吧。


(1)硬件配置(电脑主机)

GPU:
高配版/ Titan X (建议3~4块)

干货 | 深度学习环境搭建(入门篇)


经济版/ GTX 1080/Ti

干货 | 深度学习环境搭建(入门篇)


版本对比:

干货 | 深度学习环境搭建(入门篇)


硬盘SSD:
高配版/ EVO 2T (建议2块=4T)

干货 | 深度学习环境搭建(入门篇)


经济版/ EVO 500G/1T

干货 | 深度学习环境搭建(入门篇)
干货 | 深度学习环境搭建(入门篇)


主板:
高配版/ X99A SLI PLUS (4块显卡)

干货 | 深度学习环境搭建(入门篇)
干货 | 深度学习环境搭建(入门篇)


经济版/ X99A Ultra (2块显卡)

干货 | 深度学习环境搭建(入门篇)


CPU
高配版/i7-7700k

干货 | 深度学习环境搭建(入门篇)


经济版/i5-7600k

干货 | 深度学习环境搭建(入门篇)


机箱/电源
高配版/水冷

干货 | 深度学习环境搭建(入门篇)


经济版/组合

干货 | 深度学习环境搭建(入门篇)

总结: 

1套 高配版:~55K
1套 经济版:~26K


(2)软件配置(Linux+软件框架)

操作系统

  • Ubuntu 16.04 LTS


软件

  • Anaconda(对应Python 3.6扩展版)-Anaconda是一个性能非常强大的Python发行版本,包含了100多个数据科学适用的Python,R语言和Scala的热门安装包。

  • R-用于统计计算和统计绘图的语言和操作环境

  • Scala -Scala全称为Scalable Language,是一门类似于JAVA而且性能极佳的的模块化语言。

  •  Jupyter-编程代码的web应用程序,便于用户共享文档并且支持实时代码。


驱动
* Nvidia驱动程序
* CUDA-一种由Nvidia推出的通用并行计算架构和应用程序编程接口模型。
* cuDNN-一套Nvidia专门为深度神经网络设计的GPU计算加速库。


深度学习框架/库
* TensorFlow-谷歌的开源DL框架,可以说支撑起了部分产品,比如谷歌翻译。
* Theano-一个靠谱而且受欢迎的机器学习框架。
* Caffe-来自伯克利的深度学习框架。
* Torch-一个GPU优先的科学计算框架,广泛支持机器学习算法。
* MXNET-可扩展性极强的DL系统,得到了亚马逊和一些大学的支持。
* Keras-一个很棒的用Python语言编写的神经网络库,基于TensorFlow或Theano开发
* Lasagne-用于构造和训练神经网络的轻量库。


python库
* Pip=Python安装包管理工具
* Pandas=高性能数据分析库
* Scikit-learn =强大机器学习库
* Numpy=Python的一种开源的数字扩展
* Matplotlib=可视化库(注:Python的2D绘图库)
* Scipy=数值计算库
* IPython =交互式Python
* Scrappy=网络数据爬取框架
* NLTK=自然语言工具箱
* Pattern=网络挖掘库
* Seaborn=统计数据可视化
* OpenCV=计算机视觉库
* Rpy2=R语言接口
* Py-graphviz=统计数据绘图
* OpenBLAS =线性代数库


(3)环境配置(如何搭建环境 )

开机启动
安装操作系统(UEFI)


驱动问题
打开最新的Nvidia驱动,然后reboot:
* 登陆TTY中的root账号
* 运行 sudo apt-get purge nvidia-*
* 运行 sudo add-apt-repository ppa:graphics-drivers/ppa
* sudo apt-get update
* 运行sudo apt-get install nvidia-375
* Reboot,这时图像的问题应该就解决了。


系统升级
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y build-essential cmake g++ gfortran git pkg-config python-dev software-properties-common wget
sudo apt-get autoremove
sudo rm -rf /var/lib/apt/lists/*


CUDA
>
从英伟达官网上下载CUDA 8安装包,打开下载目录然后安装好CUDA。
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local.deb
sudo apt-get update -y
sudo apt-get install -y cuda
加载CUDA为环境变量

echo ‘export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc
echo ‘export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc
source ~/.bashrc

检查以确认安装的CUDA版本正确:

nvcc –V
重启电脑:
sudo shutdown -r now
检查CUDA安装情况
首先,安装CUDA样本:

/usr/local/cuda/bin/cuda-install-samples-*.sh ~/cuda-samples
cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))

然后在命令结果上做记录,用+1表示电脑所具有的GPU数量,如果出现多于一个的情况,只要把数字加上去就可以了,这样不论是安装还是编译,速度都会快上很多。
接着运行deviceQuery并确保显卡的情况能够顺利被检测,还要保证测试被通过:
bin/x86_64/linux/release/deviceQuery


cuDNN
cuDNN是DNN的GPU加速库,不幸的是,你没办法从repo里下一个,要在Nvidia上注册并申请获得许可,点击此链接前往申请。等待获批的时间少则几个小时,多则几天,拿到许可之后请下载版本4或5,在这个教程中我安装的是版本5。
进行下一步之前,请耐心等待直到装好cuDNN为止,否则其他以cuDNN为基础的框架可能会安装失败。
提取并复制文件:
cd ~/Downloads/
tar xvf cudnn*.tgz
cd cuda
sudo cp /.h /usr/local/cuda/include/
sudo cp /libcudnn /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
输入以下代码以做检查:
nvidia-smi
顺利的话,计算机会输出一些GPU数据。


Python
sudo apt-get install -y python-pip python-dev
sudo apt-get update && apt-get install -y python-numpy python-scipy python-nose python-h5py python-skimage python-matplotlib python-pandas python-sklearn python-sympy libfreetype6-dev libpng12-dev libopenjpeg5
sudo apt-get clean && sudo apt-get autoremove
rm -rf /var/lib/apt/lists/*
现在通过Pip(安装包工具)将其余库安装完毕
pip install seaborn rpy2 opencv-python pygraphviz pattern nltk scrappy


Tensorflow
$ sudo pip install –upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

$ python
 ...
 >>> import tensorflow as tf
 >>> hello = tf.constant('Hello, TensorFlow!')
 >>> sess = tf.Session()
 >>> print(sess.run(hello))
 Hello, TensorFlow!
 >>> a = tf.constant(10)
 >>> b = tf.constant(32)
 >>> print(sess.run(a + b))
 42
 >>>


OpenBLAS
sudo apt-get install -y libblas-test libopenblas-base libopenblas-dev


Jupyter
pip install -U ipython[all] jupyter


Theano
sudo apt-get install -y python-numpy python-scipy python-dev python-pip python-nose g++ python-pygments python-sphinx python-nose
sudo pip install Theano

python
>>> import theano
>>> exit()
nosetests theano


Keras
sudo pip install keras


Lasagne
pip install -r https://raw.githubusercontent.com/Lasagne/Lasagne/v0.1/requirements.txt


Python安装MXNet
克隆MXNet的库,在终端运行以下命令(没有”sudo”)
git clone https://github.com/dmlc/mxnet.git ~/mxnet –recursive
我们在使用GPU,所以要加入一些配置到config.mk file中去。
cd ~/mxnet
cp make/config.mk .
echo “USE_CUDA=1” >>config.mk
echo “USE_CUDA_PATH=/usr/local/cuda” >>config.mk
echo “USE_CUDNN=1” >>config.mk
添加到路径:
source ~/.bashrc


R语言安装MXNet
我们之后会用到R语言的,所以现在就一起装了吧。点击链接跳转至R语言适用的MXNet的安装脚本。在设置好R语言之后下面的这些步骤可以调用脚本。

  1. 首先添加R repo:
    sudo echo “deb http://cran.rstudio.com/bin/linux/ubuntu xenial/” | sudo tee -a /etc/apt/sources.list

  2. 其次把R添加到Ubuntu Keyring:
    gpg — keyserver keyserver.ubuntu.com — recv-key E084DAB9
    gpg -a — export E084DAB9 | sudo apt-key add –

  3. 然后安装R-Base:
    sudo apt-get install r-base r-base-dev

  4. 再安装R-Studio(如果版本号不同要修改命令)
    sudo apt-get install -y gdebi-core
    wget https://download1.rstudio.org/rstudio-0.99.896-amd64.deb
    sudo gdebi -n rstudio-0.99.896-amd64.deb
    rm rstudio-0.99.896-amd64.deb

  5. 最后安装R 适用的MXNet :
    cd ~/mxnet/setup-utils
    bash install-mxnet-ubuntu-r.sh


Caffe安装前提:
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install -y –no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
克隆Caffe repo:
cd ~/git

git clone https://github.com/BVLC/caffe.git


cd caffe
cp Makefile.config.example Makefile.config
在Makefile中用cuDNN 

设置参数: USE_CUDNN := 1 :
sed -i ‘s/# USE_CUDNN := 1/USE_CUDNN := 1/‘ Makefile.config
修改BLAS的open参数值:
sed -i ‘s/BLAS := atlas/BLAS := open/’ Makefile.config
安装好所需的东西,然后构建Caffe,构建测试并确保顺利通过所有测试。记住这些工作将花费一些时间。另外再次记住+1表示构造Caffe 所需GPU的数量,数量超过一个的时候要加上去。
sudo pip install -r python/requirements.txt
make all -j (nproc) + 1))
make test -j (nproc) + 1))
make runtest -j (nproc) + 1))
搭建PyCaffe,Python到Caffe的接口
make pycaffe -j (nproc) + 1))
加载Caffe为环境变量

echo ‘export CAFFE_ROOT=$(pwd)’ >> ~/.bashrc
echo ‘export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH’ >> ~/.bashrc
source ~/.bashrc

测试以确认Caffe安装成功。要是成功的话在执行输入命令的时候不会有任何警告和错误:
ipython

import caffe
exit()


Torch
git clone https://github.com/torch/distro.git ~/git/torch — recursive
cd torch; bash install-deps;
./install.sh


Scala
sudo apt-get -y install scala

 

Anaconda
下载 Anaconda for Python 3.6 ,同时也提供2.7.x版本选择。
安装:
sudo bash Anaconda3–4.3.0-Linux-x86_64.sh
此外,Anaconda支持用户创造版本之间灵活切换的环境。
让我们创建两个Anaconda环境:
conda create -n py2 python=2.7
conda create -n py3 python=3.6
激活py3的环境:
source activate py3
source activate py3
完成所有包的安装:
conda install pip pandas scikit-learn scipy numpy matplotlib ipython-notebook seaborn opencv scrappy nltk pattern
然后通过pip安装Conda(Anaconda的管理工具)内不提供的pygraphviz和R语言桥:
pip install pygraphviz rpy2
Reboot:
sudo shutdown -r now


Anaconda安装Tensorflow, Theano, 和 Keras
你要给Python 2和3两个版本的Anaconda安装这些库,他们自带性能最优化,所以用这些Anaconda支持的库能获得更好的效果。
让我们从Python 3开始:
source activate py3
pip install tensorflow Theano keras
接着休眠Python 3,激活py2环境。
source deactivate
激活py2环境:
source activate py2
给py2安装:
pip install tensorflow Theano keras
休眠环境:
source deactivate


OK,今天关于深度学习环境如何搭建就介绍到这里。请大家继续关注,下期更精彩!

PS: 肖老师何许人也?且听下回分解!

干货 | 深度学习环境搭建(入门篇)

END

干货 | 深度学习环境搭建(入门篇)

更多资讯请点击“阅读原文”

干货 | 深度学习环境搭建(入门篇)

原文始发于微信公众号(e安在线):干货 | 深度学习环境搭建(入门篇)

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月22日12:24:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  干货 | 深度学习环境搭建(入门篇) https://cn-sec.com/archives/696442.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: