![](https://img.kancloud.cn/74/42/7442c171195b238d3c8818cf3da8fdfd_720x637.jpg)# 2.1 环境配置
本节简单介绍一些必要的软件的安装与配置,由于不同机器软硬件配置不同,所以不详述,遇到问题请擅用Google。
## 2.1.1 Anaconda
Anaconda是Python的一个开源发行版本,主要面向科学计算。我们可以简单理解为,Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。而且相比于大家熟悉的pip install命令,Anaconda中增加了conda install命令。当你熟悉了Anaconda以后会发现,conda install会比pip install更方便一些。 强烈建议先去看看[最省心的Python版本和第三方库管理——初探Anaconda](https://zhuanlan.zhihu.com/p/25198543)和[初学 Python 者自学 Anaconda 的正确姿势-猴子的回答](https://www.zhihu.com/question/58033789/answer/254673663)。
总的来说,我们应该完成以下几步:
* 根据操作系统下载并安装Anaconda(或者mini版本Miniconda)并学会常用的几个conda命令,例如如何管理python环境、如何安装卸载包等;
* Anaconda安装成功之后,我们需要修改其包管理镜像为国内源,这样以后安装包时就会快一些。
## 2.1.2 Jupyter
在没有notebook之前,在IT领域是这样工作的:在普通的 Python shell 或者在IDE(集成开发环境)如Pycharm中写代码,然后在word中写文档来说明你的项目。这个过程很反锁,通常是写完代码,再写文档的时候我还的重头回顾一遍代码。最蛋疼的地方在于,有些数据分析的中间结果,还得重新跑代码,然后把结果弄到文档里给客户看。有了notebook之后,世界突然美好了许多,因为notebook可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也就是它可以能将代码、文档等这一切集中到一处,让用户一目了然。如下图所示。
Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。
我们参考[jupyter notebook-猴子的回答](https://www.zhihu.com/question/46309360/answer/254638807)进行jupyter notebook及常用包(例如环境自动关联包nb\_conda)的安装。
安装好后,我们使用以下命令打开一个jupyter notebook:
~~~
jupyter notebook
~~~
这时在浏览器打开 [http://localhost:8888](http://localhost:8888) (通常会自动打开)位于当前目录的jupyter服务。
## 2.1.3 PyTorch
由于本文需要用到PyTorch框架,所以还需要安装PyTorch(后期必不可少地会使用GPU,所以安装GPU版本的)。直接去[PyTorch官网](https://pytorch.org/)找到自己的软硬件对应的安装命令即可(这里不得不吹一下[PyTorch的官方文档](https://pytorch.org/tutorials/),从安装到入门,深入浅出,比tensorflow不知道高到哪里去了)。安装好后使用以下命令可查看安装的PyTorch及版本号。
~~~
conda list | grep torch
~~~
## 2.1.4 其他
此外还可以安装python最好用的IDE [PyCharm](https://www.jetbrains.com/pycharm/),专业版的应该是需要收费的,但学生用户可以申请免费使用([传送门](https://www.jetbrains.com/zh/student/)),或者直接用免费的社区版。
如果不喜欢用IDE也可以选择编辑器,例如VSCode等。
本节与原文有很大不同,[原文传送门](https://zh.d2l.ai/chapter_prerequisite/install.html)
- Home
- Introduce
- 1.深度学习简介
- 深度学习简介
- 2.预备知识
- 2.1环境配置
- 2.2数据操作
- 2.3自动求梯度
- 3.深度学习基础
- 3.1 线性回归
- 3.2 线性回归的从零开始实现
- 3.3 线性回归的简洁实现
- 3.4 softmax回归
- 3.5 图像分类数据集(Fashion-MINST)
- 3.6 softmax回归的从零开始实现
- 3.7 softmax回归的简洁实现
- 3.8 多层感知机
- 3.9 多层感知机的从零开始实现
- 3.10 多层感知机的简洁实现
- 3.11 模型选择、反向传播和计算图
- 3.12 权重衰减
- 3.13 丢弃法
- 3.14 正向传播、反向传播和计算图
- 3.15 数值稳定性和模型初始化
- 3.16 实战kaggle比赛:房价预测
- 4 深度学习计算
- 4.1 模型构造
- 4.2 模型参数的访问、初始化和共享
- 4.3 模型参数的延后初始化
- 4.4 自定义层
- 4.5 读取和存储
- 4.6 GPU计算
- 5 卷积神经网络
- 5.1 二维卷积层
- 5.2 填充和步幅
- 5.3 多输入通道和多输出通道
- 5.4 池化层
- 5.5 卷积神经网络(LeNet)
- 5.6 深度卷积神经网络(AlexNet)
- 5.7 使用重复元素的网络(VGG)
- 5.8 网络中的网络(NiN)
- 5.9 含并行连结的网络(GoogLeNet)
- 5.10 批量归一化
- 5.11 残差网络(ResNet)
- 5.12 稠密连接网络(DenseNet)
- 6 循环神经网络
- 6.1 语言模型
- 6.2 循环神经网络
- 6.3 语言模型数据集(周杰伦专辑歌词)
- 6.4 循环神经网络的从零开始实现
- 6.5 循环神经网络的简单实现
- 6.6 通过时间反向传播
- 6.7 门控循环单元(GRU)
- 6.8 长短期记忆(LSTM)
- 6.9 深度循环神经网络
- 6.10 双向循环神经网络
- 7 优化算法
- 7.1 优化与深度学习
- 7.2 梯度下降和随机梯度下降
- 7.3 小批量随机梯度下降
- 7.4 动量法
- 7.5 AdaGrad算法
- 7.6 RMSProp算法
- 7.7 AdaDelta
- 7.8 Adam算法
- 8 计算性能
- 8.1 命令式和符号式混合编程
- 8.2 异步计算
- 8.3 自动并行计算
- 8.4 多GPU计算
- 9 计算机视觉
- 9.1 图像增广
- 9.2 微调
- 9.3 目标检测和边界框
- 9.4 锚框
- 10 自然语言处理
- 10.1 词嵌入(word2vec)
- 10.2 近似训练
- 10.3 word2vec实现
- 10.4 子词嵌入(fastText)
- 10.5 全局向量的词嵌入(Glove)
- 10.6 求近义词和类比词
- 10.7 文本情感分类:使用循环神经网络
- 10.8 文本情感分类:使用卷积网络
- 10.9 编码器--解码器(seq2seq)
- 10.10 束搜索
- 10.11 注意力机制
- 10.12 机器翻译