购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4
使用的技术栈

前面我们从整体上认识了深度学习主要内容和应用领域,明确了为什么学和怎么用的问题。在开始正式学习各种算法和模型之前,需要做一些准备工作。在本节中,我们先来介绍一下所涉及的技术栈,关于开发环境搭建的更多问题,会在第3章进行更详细的讲解。工欲善其事,必先利其器,不要小瞧这些内容,很多刚入门的读者,在这个地方会遇到各种问题。

1.4.1 编程语言

深度学习的编程语言首选Python,这个是毋庸置疑的。目前TIOBE编程语言排行榜上,Python排名仍然位列第一。除了代码简洁优雅,主要是因为Python的生态良好,有强大的自带标准库和大量的第三方支持库,比如对科学计算以及深度学习框架(像耳熟能详的TensorFlow、PyTorch等)都有着良好的支持。

1.4.2 深度学习框架

流行的深度学习框架包括谷歌的TensorFlow、Meta的PyTorch以及百度研发的飞桨(PaddlePaddle)等。高度可定制性和可扩展性使它们成为当前广受欢迎的框架。几年之前,流行的框架当属TensorFlow,不过PyTorch在近几年实现了全方位的超越。在开源库Hugging Face上,85%的模型只能在PyTorch上使用。

此外,在很多学术顶会上,比如EMNLP、ACL、ICLR三家AI顶会,PyTorch也是遥遥领先,其占比已经超过80%。为此本书采用PyTorch框架,让大家能够无障碍地上手大部分开源项目。

1.4.3 数据集

在代码实现环节,我们将采用当前比较主流的数据集,除了入门级的MNIST,还有牛津大学的Flowers102数据集、Twenty Newsgroups新闻分类数据集等。在第8章,我们会用pandas加载金融数据进行预测。在《破解深度学习(核心篇):模型算法与实现》中,我们会介绍知名竞赛网站Kaggle上的数据集,还将带领大家了解NLP预训练模型竞赛排行榜中的打榜数据集GLUE。我们选取的都是比较有代表性的数据集,这些都将是你在未来学习实验、参加竞赛甚至工作中会用到的。

1.4.4 代码编辑器

本书使用的代码编辑器为Jupyter Notebook。它是一个非常易用、基于网页的交互式编辑器,不仅可以执行代码,还可以同时编写文档。Jupyter Notebook支持Markdown语法,支持使用LaTeX编写数学公式,以便边学习边做笔记,与他人共享。

它还有个优点是代码块可以按行执行。在算法学习中,我们经常需要修改参数,使用Jupypter Notebook可以无须重新执行整个代码文件,而只需执行修改的那行代码,非常方便快捷。

1.4.5 项目IDE

我们在着手解决更为复杂的实际问题时,经常需要编写多文件的复杂代码。在这种情况下,Jupyter Notebook可能就不足以支持了。此时,我们推荐使用两款功能丰富的Python集成开发环境(IDE):PyCharm和Visual Studio Code。这两者都可从官网直接下载。

对于PyCharm,虽然它提供了Professional(专业版)和Community(社区版)两种版本,不过对大多数用户而言,免费的社区版已经足够满足日常开发需求。

1.4.6 小结

“战场”搭建好会为后续学习奠定坚实的基础。这部分的内容不难,但是需要一点耐心。除了本节介绍的内容,后面我们还会在第3章用整章篇幅具体讲解CUDA和Anaconda深度学习环境配置、conda实用命令、Jupyter Notebook快速上手秘籍和PyTorch的安装教程。

到这里,相信大家已经对本书有了大致的了解。在正式深入学习之前,我们先来回顾一下相关的数学知识,这一步非常重要。读者如果已经有扎实数学基础,那么可以选择跳过第2章。如果你感觉自己的数学基础有所欠缺,或者对许多内容已经遗忘,也不必担心,我们会用简明易懂的方式详细解释所有必要的知识点,以帮助你迅速补齐“短板”。 T5slnmIRghaKv0A9Guj0oQa6Eew8Ga3Ra1qODaYiU3a9R178UflG2Z3N8BR9lJW5

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开