pytorch零基础(3个满级大佬带1个新人勇闯新手村)
如果你在社区提问初学者深度学习选择什么框架,得到的回答大多是让你用PyTorch,而不是似乎应用更广的TensorFlow并且在相关论文中,越来越多的人选择PyTorch,就是说在研究领域PyTorch也更受欢迎,我来为大家科普一下关于pytorch零基础?以下内容希望对你有帮助!
pytorch零基础
如果你在社区提问初学者深度学习选择什么框架,得到的回答大多是让你用PyTorch,而不是似乎应用更广的TensorFlow。并且在相关论文中,越来越多的人选择PyTorch,就是说在研究领域PyTorch也更受欢迎。
▲ 实线是PyTorch,虚线是TensorFlow
PyTorch 和TensorFlow 无疑是当下深度学习框架中两个霸主,但为什么对初学者来说PyTorch 会更合适呢?
三大理由选择PyTorch
因为学习和生产使用的目的是不一样的,要求也不一样,而PyTorch作为一个对初学者与研究友好的深度学习框架,有以下三个优先选择的理由。
专门的Python机器学习库
2016年10月,Facebook的AI团队(如今叫Meta AI)开源了自己的机器学习框架——PyTorch 。选择Python主要是因为Python代码的简洁与高可读性,这让开发者能够专注于解决机器学习中的问题,而不是浪费精力在因为选择编程语言而带来的其他问题上。
另外一个重要原因是Python有着非常丰富的库可供选择,大大节省了开发成本,比如高性能计算常用到的NumPy、用来做数据分析的Pandas等。
并且Python的易用性还吸引了更多的人使用,然后他们又开发更多的机器学习相关库与软件,形成一个良性循环:Python让机器学习变得更简单好用,机器学习又让Python变得更流行。
▲ 各编程语言的发展趋势图,蓝色代表Python
Python在近几年以腾飞之势发展,一部分原因要归功于人工智能的发展。
Python让PyTorch 更简单
正是因为Python的易用性、可移植性、拥有丰富的库等特性,使用PyTorch可以更快速地构建机器学习模型。
可视化一直是深度学习中重要的一环,不管是展示结果还是调试参数,可视化操作的确是效果更好。PyTorch有专门的可视化神器——visdom,这是一款专门为PyTorch开发的可视化工具,可以在绝大部分数据可视化任务中发挥作用。
丰富的工具让PyTorch变得简单好用。
同样的,Python能够轻易入门的优势也在PyTorch中体现了出来。相对其他深度学习框架,PyTorch的学习门槛更低、成本更少。这主要归功于Python那简单直观的语法,即使从未使用过PyTorch,也能很快从那些简单的语法中看出代码的大概意思,从而加快学习速度。
还有专业活跃的社区与完善的文档支持,让学习使用PyTorch也变得更轻松。
Facebook出品,开源透明
作为Facebook开发的开源产品,有许多深度学习的软件是建立在PyTorch的基础之上的。比如特斯拉的Tesla Autopilot、优步的Pyro、Hugging Face的 Transformers、PyTorch Lightning和Catalyst等。
使用开源软件做学习与研究是非常明智的选择——因为免费啊!并且在遇到问题的时候可以快速从网上得到解决方案,活跃的社区与开发者总能很快地给予回复,这也是PyTorch在开源方面做得更好带来的优势。
综合看下来,好像PyTorch的确非常简单,是入门深度学习的一个不错的选择。那么它有多简单呢?
简单到只用一本书就能完全搞定!从深度学习框架零经验到创建神经网络和深度学习系统,只要《PyTorch深度学习实战》一本足矣。
▲ PyTorch权威之作,核心开发人员编写
一书搞定PyTorch
关于一门技术或者工具,是谁对它更了解?能把它讲得更清楚?当然是它的开发者!
PyTorch核心开发者编写
这本书的作者有3个,分别是伊莱·史蒂文斯、卢卡·安蒂加和托马斯·菲曼,3个人都是80后。他们都在很小的时候就接触到了家用计算机,并且深深地迷恋上那些神奇的机器,很快就学会了编程并疯狂地研究算法。和当时的年轻人一样,他们看到了计算机给未来带来的无限可能,并且经常幻想着计算机能够让自己做到更多的事情。
▲ 伊莱·史蒂文斯
▲ 托马斯·菲曼
▲ 卢卡·安蒂加
伊莱·史蒂文斯、卢卡·安蒂加开始的工作都和医学图像分析有关,而托马斯·菲曼在大学的专业是神经网络和模式识别,后来还拿到数据建模的博士学位。三个人的工作都和人工智能联系紧密,在本世纪初的时候,深度学习开始出现在计算机视觉领域,并开始在医学图像分析任务中发挥作用。
这立马引起了三人的注意,在花了不少时间去认识和学习深度学习后,他们意识使用这种新的技术可以解决更复杂的问题。这让他们大受鼓舞,关于计算机的能做什么的问题一下子变得清晰无比:计算机的功能不再限制于程序员的大脑,而是被数据、神经网络结构和训练的过程所决定。
当时卢卡·安蒂加在实践过程中选择了PyTorch的前身Torch,并很快爱上了这个灵活、轻便、运行飞快的框架。伊莱·史蒂文斯尽管大学的时候就对工智能非常感兴趣,但早期的工作方向是医疗设备和检测软件,与深度学习稍有偏差。这让他很苦恼,因为当时的深度学习框架作为业余使用的话实在是比较费劲。
很早的时候三人就加入了PyTorch社区,开始为之贡献自己的一份力。卢卡·安蒂加和托马斯·菲曼因为很早就关注PyTorch,并且因为职业原因使用得更多,在为PyTorch贡献了大量代码、修复了很多错误、新增了不少特性之后,他俩率先成为了PyTorch的核心开发者。伊莱·史蒂文斯作为社区成员,在错误文档修复、更新文档和实现新特性工作上做了许多贡献。
三个人对于PyTorch的热情不减,组织多次PyTorch研讨会之后,他们觉得应该写一本书了——写一本能够吸引PyTorch初学者的书。
专为零经验初学者而写的PyTorch教程
最开始大家的想法极其宏大:这本书应该教授基础的知识,并且能够完成一个端到端的项目,当然还要演示PyTorch最新和最好的模型。不过经过讨论研究之后他们发现,把这些内容全部塞到一本书里面完全是不可能的事,所以最后又回到了最初的目标:让一个完全的初学者了解PyTorch的关键概念,并最终完成一个完整的项目。
写这本书的时候他们想到了最初的自己:那时候PyTorch并没有权威专业的教程,都是自己硬着头皮去学的。为了让像以前的自己那样对PyTorch感兴趣,又苦于没有一本合适教程图书的读者能够快速学会并使用PyTorch,他们开始写这本书。
代码丰富,示例有趣
很多初学者被那些技术大部头书劝退,大部分原因是那些书实在是太无聊了,整一个枯燥地展示高深的原理和概念,看一两眼就要睡过去。而这本书作者三人都是从最初什么都不懂走过来的,知道真正的初学者想要什么:简单易懂,讲得有那么一点趣味性是最好了。
其实PyTorch本身是相对简单的,只要有一点Python基础,就能看明白书中基于Python 3.6及以上的丰富代码实例。并且即使没有深度学习的经验,也能够使用这本书——重点是让读者学会熟练使用PyTorch库。
而且,为了让分析问题的过程更形象直观,书中使用了大量的颇具趣味性的插图示例,让这个学习过程变得更有意思。
▲ 一个简单的推理过程
循序渐进,逐步探索
正是为了照顾初学者,他们没有把这本书写成一部巨厚无比的PyTorch参考书,而是写成了一本概念性的指南。通过对PyTorch关键特性的直观描述,深入细节剖析背后的奥秘,引导初学者进行深一步的探索。
就像打游戏中的副本,没有人会一上来就直接干boss吧?都是先把小怪清掉,积累点经验和装备,然后再从易到难依次解决那些boss。学习新的知识和技能同样是这样的,先把基础的学好,然后循序渐进,逐步推进,直到完成学习目标。
伊莱·史蒂文斯、卢卡·安蒂加和托马斯·菲曼3个人根据自己擅长的内容,分工合作:卢卡·安蒂加负责第一部分的基础内容;伊莱·史蒂文斯是肿瘤放疗软件的专家,第二部分的实战项目就由他负责了——完成一个全面的肺癌自动检测解决方案的项目;托马斯·菲曼作为PyTorch专业培训师和顾问,擅长将理论应用于实战,所以第三部分关于PyTorch部署的内容就由他来负责了。
书中的内容整体呈现由易到难、由浅入深的形式,从前面的基础知识,到中间的项目实战,再到最后的部署,一站式解决从零到发布的整个过程。
作为一个相对简单的选择,入门学习深度学习框架使用PyTorch的确是更合适。而《PyTorch深度学习实战》一书避免了大量讲述无关原理和性能,专注于让初学者快速学会使用PyTorch,通过通俗的文字与趣味十足的图示引导着读者一步步探索PyTorch。
就像一个大佬带新人速通初级本,一路上指导新人这种类型副本的规则与关键技巧。当新人一步步跟在大佬身边并尝试对boss放技能,最终干掉所有boss后,也摸清了这类副本的路数,能够骄傲地跟大佬说:感谢大佬,我会了!原来这个副本并没有那么难。
滑动查看更多图书信息
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com