自己动手学深度学习(P1)环境安装
参考网站:http://zh.gluon.ai/
前言
教程组织方式
- 引入一个(或者少数几个)新概念
- 提供一个使用真实数据的完整样例
易用高效的MXNet
我们将使用MXNet
作为这套教程所使用的深度学习库,并重点介绍全新的高层抽象包gluon
。我们选用MXNet
是因为它兼具易用和高效的优点。无论对研究者还是对工程师而言,无论是在科研机构还是在工业界,工具的易用与高效将从各个方面显著提升生产效率。
双轨学习法
在介绍大多数机器学习模型时,我们既会教授大家如何从零开始实现模型,也会教授大家如何使用高层抽象包gluon
实现模型。从零开始实现模型有助大家深入理解深度学习底层设计。使用高层抽象包gluon
将把大家从繁琐的模型模块设计与实现中解放出来。
通过动手来学习
学习深度学习的最好方式就是动手实现深度学习模型。
"Get hands dirty."
“撸起袖子加油干。”
环境安装
安装需求
每个教程是一个可以编辑和运行的Jupyter notebook。运行这些教程需要Python,Jupyter和其插件notedown,以及最新版MXNet。安装这些依赖最方便的是通过conda。
通过Conda安装
首先根据操作系统下载并安装Miniconda。然后安装所需的依赖包并激活环境:
git clone https://github.com/mli/gluon-tutorials-zh
cd gluon-tutorials-zh
conda env create -f environment.yml //时间漫长,需要翻墙
source activate gluon
运行
运行Jupyter并加载notedown插件:
jupyter notebook --NotebookApp.contents_manager_class='notedown.NotedownContentsManager'
这时候我们可以通过浏览器打开 http://localhost:8888 来查看和运行各个教程了。
高级选项
使用GPU
默认安装的MXNet只支持CPU。有一些教程需要GPU来运行。假设CUDA 7.5或者8.0已经安装了,那么先卸载CPU版本
pip uninstall mxnet
先确保pip是最新版本
pip install -U pip
然后安装:
pip install mxnet
默认开启notedown插件
首先生成jupyter配置文件(如果已经生成过可以跳过)
jupyter notebook --generate-config
将下面这一行加入到生成的配置文件的末尾(Linux/macOS一般在~/.jupyter/jupyter_notebook_config.py
)
c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager'
之后就只需要运行jupyter notebook
即可。
在远端服务器上运行Jupyter
Jupyter的一个常用做法是在远端服务器上运行,然后通过 http://myserver:8888 来访问。
有时候防火墙阻挡了直接访问对应的端口,但ssh是可以的。如果本地机器是linux或者mac(windows通过第三方软件例如putty应该也能支持),那么可以使用端口映射
ssh myserver -L 8888:localhost:8888
然后我们可以使用http://localhost:8888 打开远端的Jupyter。
运行计时
我们可以通过ExecutionTime插件来对每个cell的运行计时。
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable execute_time/ExecuteTime
到此MXNet
的环境已经安装和配置完毕,接下来就是讲解如何使用它了。