基于CPU和Intel MKL的深度学习实验
参加了今年的AWS Summit,里面有一个很有意思的环节是Intel组织了一个基于AWS的深度学习上手课程。
为什么在AWS上呢?
这个课程以及代码的地址在这里https://github.com/NervanaSystems/mxnet_workshop
这里面的文档里面说了,完成这个课程需要Amazon Deep Learning AMI.
为什么是Intel组织呢?
因为Intel的观点认为,通过使用Intel的MKL库,可以基于Intel的CPU而非一定要GPU,就能取得高性能的深度学习。
哈哈,终于明白了。
但是也给了我们普通的学习者上手深度学习一个很好的机会,因为如果基于GPU,无论是你自己买一个,还是使用AWS的GPU实例,实在是成本有一点高。而基于CPU,用一个普通的虚拟机就可以了,接下来的实验,本人都是在一台普通的ubuntu 14.04虚拟机上完成的。
在国内登陆AWS还是多少有些不方便的,而且AWS那个AMI是什么都安装好的,用起来容易,但是不容易看出将来如何自己搭建一个环境。于是还是自己手动来的好。
这个实验启动一个Jupyter Notebook,里面用python语言完成下面三个实验。
,安装mxnet,当然现在tensorflow很火,但是mxnet也非常好
apt-get update
apt-get install -y wget python gcc
wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
pip install mxnet
apt-get install graphviz
pip install graphviz
第二,下载mxnet_workshop
apt-get install git
git clone https://github.com/NervanaSystems/mxnet_workshop
第三,安装jupyter notebook
apt-get install python-dev
pip install --upgrade ipython==5.4.1 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install widgetsnbextension -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install jupyter -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
第四,配置jupyter notebook
jupyter notebook --generate-config --allow-root
修改.jupyter/jupyter_notebook_config.py下面三项
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:356c980c45d3:87608ec6eb8c0dacb693ddf48ffd2ec39fd0fa9b'
后这个密码是deeplearning,将来用它登陆jupyter notebook
第五,安装Intel MKL
apt-get install cmake
apt-get install doxygen
apt-get install g++
git clone https://github.com/01org/mkl-dnn.git
cd mkl-dnn/
cd scripts && ./prepare_mkl.sh && cd ..
mkdir -p build && cd build && cmake ..&& make
make install
第六,启动jupyter notebook
cd mxnet_workshop
jupyter nbextension enable --py widgetsnbextension
jupyter-notebook --allow-root
第七,从界面上访问jupyter notebook
通过8888端口进入界面,输入密码deeplearning
第八,跑实验一Part_1_Sentiment_Analysis.ipynb
在每一段python代码里面,依次点击ctrl + 回车,当左面的*变为数字的时候,这一步就运行完毕了,可以运行下一步。
如图是正在训练模型。
利用模型检测态度是正还是反。
第九,同理跑其他的实验。
下一篇文章会从代码解析这些实验都干了些啥。
相关文章