有Python基础学习PyTorch,可以选择的书籍有哪些?
Posted 人邮异步社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有Python基础学习PyTorch,可以选择的书籍有哪些?相关的知识,希望对你有一定的参考价值。
为更好理解人工智能、机器学习和深度学习的关系,我们画几个同心的圆圈,人工智能位于最外层,人工智能最早出现,范畴最大,然后向内是机器学习,最后是驱动今天人工智能迅速发展的深度学习,它位于另两个圆圈内部,如图1.1所示。
图1.1 人工智能、机器学习和深度学习的关系
PyTorch
PyTorch以及其他大多数深度学习框架,主要用于两个方面:
- 用GPU加速过的运算替代与NumPy类似的运算;
- 构建深度神经网络。
让PyTorch越来越受欢迎的是它的易用性和简单性。不同于其他大多数流行的使用静态计算图的深度学习框架,PyTorch使用动态计算,因此在构建复杂架构时可以有更高的灵活性。
PyTorch大量使用了Python概念,例如类、结构和条件循环,允许用户以纯面向对象的方式构建深度学习算法。
PyTorch是一个Python程序库,有助于构建深度学习项目。它强调灵活性,并允许用深度学习领域惯用的Python来表示深度学习模型。它的易用性使得它在研究社区中有了早期的使用者,并且在第1次发布之后的几年里,它已经成为应用程序中使用最广泛的深度学习工具之一。
正如Python在编程方面所做的那样,PyTorch也为深度学习提供了很好的入门指南。同时,PyTorch已经被证明完全可以在实际项目和高规格的专业环境下使用。
为什么用PyTorch
通过将模型应用到例证,深度学习允许我们执行很多复杂任务,如机器翻译、玩战略游戏以及在杂乱无章的场景中识别物体等。为了在实践中做到这一点,我们需要灵活且高效的工具,以便能够适用于这些复杂任务,能够在合理的时间内对大量数据进行训练。我们需要已被训练过的模型在输入变量变化的情况下正确执行。接下来看看我们决定使用PyTorch的一些原因。
PyTorch很容易被推广,因为它很简单。许多研究人员和实践者发现它易于学习、使用、扩展和调试。它是Python化的,虽然和任何复杂领域一样,它有注意事项和最佳实践示例,但对于以前使用过Python的开发人员来说,使用该库和使用其他Python库一样。
更具体地说,在PyTorch中编写深度学习机是很自然的事情。PyTorch为我们提供了一种数据类型,即张量,通常用来存储数字、向量、矩阵和数组。此外,PyTorch还提供了操作它们的函数,我们可以使用这些函数来增量编程。如果我们愿意,还可以进行交互式编程,就像平常使用Python一样。如果你知道NumPy,那么你对交互式编程应是非常熟悉的。
PyTorch具备2个特性,使得它与深度学习关联紧密。首先,它使用GPU加速计算,通常比在CPU上执行相同的计算速度快50倍。其次,PyTorch提供了支持通用数学表达式数值优化的工具,该工具用于训练深度学习模型。请注意,这2个特性适用于一般的科学计算,而不只适用于深度学习。事实上,我们完全可以将PyTorch描述为一个在Python中为科学计算提供优化支持的高性能库。
PyTorch设计的驱动因素之一是表现力,它允许开发人员实现复杂的模型,而不会被PyTorch库强加过高的复杂性(PyTorch不是一个框架)。PyTorch可以说是最无缝地将深度学习领域的思想转化为Python代码的软件之一。因此,PyTorch在研究中得到广泛的采用,国际会议上的高引用次数就证明了这一点。
PyTorch从研发到成为产品的过程是一件值得关注的事情。虽然PyTorch最初专注于研究工作流,但它已经配备了高性能的C++运行环境,用于部署模型进行推理而不依赖Python,并且还可用于设计和训练C++模型。它还提供了与其他语言的绑定,以及用于部署到移动设备的接口。这些特性允许我们利用PyTorch的灵活性,还允许我们的程序在难以获得完整的Python运行环境或可能需要极大的开销的情况下运行。
PyTorch书推荐
PyTorch深度学习
《PyTorch深度学习》前半部分介绍了深层学习和PyTorch的几个基本构造块,还介绍了关键的概念,如过拟合、欠拟合以及有助于处理这些问题的技术。
在本书后半部分,Vishnu介绍了最新的概念,如CNN、RNN、使用预卷积特征的LSTM迁移学习、一维卷积,以及如何应用这些技术的真实案例。最后两章介绍了现代深度学习体系结构,如Inception、ResNet、DenseNet模型和它们的集成,以及生成网络如风格迁移、GAN和语言建模等。
如果读者具备机器学习的知识,则有助于本书的阅读,但这并不是必需的。读者最好了解Python编程的知识。
PyTorch深度学习实战
本书讲解了PyTorch深度学习的基础知识,并以一个实际项目来展示。我们力图介绍深度学习底层的核心思想,并向读者展示PyTorch如何将其实现。
本书并不是一本参考书,相反,它是一本概念性的指南,旨在引导你在网上独立探索更高级的材料。因此,我们关注的是PyTorch提供的一部分特性,最值得注意的是循环神经网络,但PyTorch API的其他部分也同样值得重视。
本书前半部分的某些内容可能对有经验的实践者来说是一些已经了解的概念。对这些读者来说,我们希望本书能够提供一个与已知主题稍有不同的视角。
我们希望读者具备命令式编程和面向对象编程的基本知识。由于本书使用的编程语言是Python,因此大家需要熟悉Python的语法和操作环境,了解如何在所选择的平台上安装Python包和运行脚本。熟悉C++、Java、javascript、Ruby或其他类似语言的读者应该可以轻松上手,但是需要在本书之外做一些补充。同样,如果读者熟悉NumPy也很有用,但这并不是强制要求的。我们也希望读者熟悉线性代数的一些基础知识,如知道什么是矩阵、向量和点积。
编辑推荐
1.PyTorch核心开发者教你使用 PyTorch 创建神经网络和深度学习系统的实用指南。
2.详细讲解整个深度学习管道的关键实践,包括 PyTorch张量API、用 Python 加载数据、监控训练以及对结果进行可视化。
3. PyTorch核心知识+真实、完整的案例项目,快速提升读者动手能力:
a.全面掌握PyTorch 相关的API 的使用方法以及系统掌握深度学习的理论和方法;
b.快速从零开始构建一个真实示例:肿瘤图像分类器;
c.轻松学会使用PyTorch 实现各种神经网络模型来解决具体的深度学习问题;
d.章尾附有“练习题”,巩固提升所学知识;更有配套的代码文件可下载并动手实现。
4. PyTorch 联合创作者Soumith Chintala作序推荐!
5. 书中所有代码都是基于Python 3.6及以上的版本编写的,提供源代码下载。
本书指导读者使用Python和PyTorch实现深度学习算法。本书首先介绍PyTorch的核心知识,然后带领读者体验一个真实的案例研究项目:构建能够使用CT扫描检测恶性肺肿瘤的算法。你将学习用有限的输入训练网络,并处理数据,以获得一些结果。你将筛选出不可靠的初始结果,并专注于诊断和修复神经网络中的问题。最后,你将研究通过增强数据训练、改进模型体系结构和执行其他微调来改进结果的方法。通过这个真实的案例,你会发现PyTorch是多么有效和有趣,并掌握在生产中部署PyTorch模型的技能。
以上是关于有Python基础学习PyTorch,可以选择的书籍有哪些?的主要内容,如果未能解决你的问题,请参考以下文章