文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
本文主要是学习李沐直播课程的笔记。视频及内容的具体地址可参考:https://zhuanlan.zhihu.com/p/29125290。
第一课:从上手到多类分类
课程首先介绍了深度学习的很多应用:例如增强学习、物体识别、语音识别、机器翻译、推荐系统、广告点击预测等。
课程目的:通过动手实现来理解深度学习,跟工业界应用相比,主要只是数据规模和模型复杂度的区别。
深度学习的轮子很多,例如Caffe,TensorFlow,mxnet,PyTorch,CNTK等。它们之间的主要区别在于:1.便利的开发;2.方便的部署。
mxnet之上的一个package是Gluon,主要目的是一次解决开发和部署。课程主要分为以下三个部分:
1. 环境配置
我的配置环境是Mac,Linux平台类似。
mxnet安装命令如下,前提是已经安装好了Anaconda,Anaconda的安装可以参考官网:
1 | pip install mxnet |
测试mxnet:
1 | >>> import mxnet |
然后安装notedown,运行Jupyter并加载notedown插件:
1 | pip install https://github.com/mli/notedown/tarball/master |
通过ExecutionTime插件来对每个cell的运行计时,国内使用豆瓣源。
1 | pip install jupyter_contrib_nbextensions -i https://pypi.douban.com/simple |
2. NDArray
NDArray是MXNet储存和变换数据的主要工具,它与numpy非常类似。NDArray提供了CPU和GPU的异步计算,还提供了自动求导。NDArray的基本用法:
1 | from mxnet import ndarray as nd |
NDArray的自动求导:
1 | import mxnet.ndarray as nd |