读书笔记
作为PyTorch的日常使用者,我从这本书中学到了不少知识。下面简要介绍一下我对本书的阅读总结和感受。
这本书分为三部分。第1部分(第1-9章)介绍了PyTorch和深度学习背后的广泛概念。值得注意的是,它从自上而下的方法开始,即使用预先训练的模型。然后,它更详细地解释了PyTorch,并从基本层面解释了用于图像分类的多层感知器和卷积神经网络。我特别喜欢本书关于PyTorch的介绍方法,非常易于理解。然而,总的来说,它仍处于初级阶段——它更适合新手,而不是高级从业者【下面给出了书中的一个示意图,书中还有许多这样的图,帮助读者理解】。第2部分(第9-14章)提供了一种特别有趣和新颖的方法。这五章引导读者从头到尾亲身体验计算机视觉项目。该项目的中心是在肺部CT扫描(3D数据)中检测癌结节。各章相互连接,读起来就像一个故事,引导读者了解各个组成部分:数据加载、分段、分组、分类、分析和诊断。第一章重点关注并强调理解底层数据也很好,这是现实项目中的一个关键方面,常常被忽视。最后,第3部分(第15章)讨论了PyTorch的生产和部署方面。它更类似于第1部分,其中各节是自包含的示例和解释(与第2部分中的顺序项目相反)。第三部分只有一章,因此相对较短。然而,简洁却能表明PyTorch的部署工具并没有那么复杂。特别是,它涵盖了通过Flask和Sanic进行的基本服务器部署,通过ONNX导出PyTorch模型,PyTorch的JIT用于跟踪和脚本,以及在移动设备上运行PyToch模型。
总的来说,这本书非常简单易懂。它涵盖了深度学习和PyTorch的基础知识,除了熟悉Python之外,不需要任何先前的知识。引用作者的话,“我们宁愿把事情简单化,这样我们就可以专注于基本概念;一旦掌握了基本知识,聪明的东西就可以在以后出现”。这样,它与Goodfellow等人的《深度学习》(Deep Learning)一书正好相反,这本书没有代码,更适合那些有一些基本深度学习经验的人。实际上,这两本书是互补的(例如,初学者可以从PyTorch这本书开始,以获得基本的理解,然后深入了解Goodfellow等人的书的更多细节)。应该注意的一个方面是,这本书非常注重计算机视觉,所有神经网络示例都是在图像数据的背景下给出的,但文本等其他数据形式不包括在内。此外,本书还限于多层感知器和卷积结构(U-Net和ResNet);不同类型的神经网络架构,如递归神经网络、图形神经网络、自动编码器、生成对抗网络和变压器,不在本书的范围内,所以相关领域的读者需要注意。