当前位置: 首页 > 科技观察

PyTorch版本《动手学深度学习》是开源的,最美的深度学习书籍遇上超棒的深度学习框架

时间:2023-03-14 20:17:58 科技观察

李牧等人的开源中文书籍《动手学深度学习》现已推出PyTorch版本。无论是原著中的示例代码还是实际项目,都可以将原始MXNet无缝转换为PyTorch代码。项目作者在保持原书内容基本不变的情况下,将MXNet代码全部转为PyTorch。想学习DL和PyTorch的朋友可以试试。项目地址:https://github.com/ShusenTang/Dive-into-DL-PyTorch近几年,无论是计算机专业的学生,??还是在科技和互联网行业工作多年的技术人员等从业者多年来,人们对深度学习很感兴趣。利息从未如此高。但由于语言等因素,优秀的深度学习中文版教材也凤毛麟角。此前,亚马逊首席科学家李牧等人在GitHub上以电子版的形式开源了一本深度学习中文书籍——《动手学深度学习》,这是一本深度学习的入门教程书。其英文版被加州大学伯克利分校的“深度学习概论(STAT157)”课程采用。2019年,李牧等人在教授深度学习课程时也使用了这门课程。中文版开源地址:https://github.com/d2l-ai/d2l-zh目前该项目在GitHub上获得超过11000颗星,中文版电子书也发布了纸质版的书。不过,虽然书籍很优秀,但还是有一些读者不习惯使用Gluon来写代码。毕竟大多数开源项目都是TF或者PyTorch写的。那么现在,我们可以直接结合本书的内容和PyTorch框架来更深入地了解DL。项目怎么样据项目作者介绍,仓库主要有两个文件夹,code和docs。代码文件夹是各章节相关的jupyternotebook代码(基于PyTorch);docs文件夹是《动手学深度学习》书中的markdown格式的相关内容,也是基于PyTorch的。由于原书内容使用MXNet框架,docs内容可能与原书略有不同,但整体内容相同。以下是docs目录下的文档。全书共十章,大部分内容都非常完整,分别是第1-8章和第10章。只有第9章ComputerVision还在完善中。事实上,新项目的内容结构和组织与原书相同。上图的docs目录可以分为三个部分:基础知识(1-3章)、现代深度学习技术(4-6章)、计算性能与应用(7-10章)。下图展示了书中不同章节的主题和依赖关系,箭头表示上一章有助于理解下一章。除了内容,另一部分就是实战代码。本书附带的代码基本上都转换成了PyTorch。也和原书一样用JupyterNotebook写的,这样可以更好的展示代码和文字说明。因为GitHub加载JupyterNotebook很慢,所以最好在本地下载。最后,《动手学深度学习》和PyTorch也是非常好的搭档,这意味着我们不需要任何机器学习或深度学习的背景知识,只需要基础数学和Python编程。从MXNet到PyTorch似乎不直观。我们可以用两个案例来看看原《动手学深度学习》本书代码和PyTorch版本的区别。如果我们提取使用递归神经网络构建语言模型的分布代码,我们可以看到原始Gluon和更新的PyTorch之间的区别。下面是原书使用RNN建模语言模型的部分代码(原书6.5章),我们主要提取了模型定义部分:上面可以改写成对应的PyTorch代码,虽然他们的风格很简洁,但还是有一些区别的。