首页 理论教育 打造自己的深度学习模型:PyTorch实战活动

打造自己的深度学习模型:PyTorch实战活动

时间:2023-06-23 理论教育 版权反馈
【摘要】:Google发布的TensorFlow 2.x版本中的Eager Execution被认为是在动态计算图模式上追赶PyTorch的举措。截至2021年,从学术界发表论文的占比来看,PyTorch的使用已经超过60%,这说明了它在学术界的影响力。但工业生产领域,Pytorch的应用与TensorFlow相比还存在着差距。随着学术界的成果产出及前沿技术的应用,在工业界使用PyTorch也可能成为一种趋势。相比于研究实验,PyTorch在工业界的应用中存在很多限制性因素。

打造自己的深度学习模型:PyTorch实战活动

1.什么是PyTorch

Facebook的Pytorch和谷歌的TensorFlow一样,也是一款深度学习框架。PyTorch派生自Torch,Torch使用了一种不是很大众的语言——Lua作为接口。PyTorch基于Torch做了些底层修改、优化并且支持Python语言调用,使用Python重新写了很多内容。PyTorch既可以看作加入了GPU支持的NumPy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络,成为当下最流行的动态图框架,支持动态神经网络。

PyTorch是基于以下两个目的而打造的Python科学计算框架:

•无缝替换NumPy,并且通过利用GPU的算力来实现神经网络的加速。

•通过自动微分机制来让神经网络的实现变得更加容易。

其核心优势就是动态计算图。Google发布的TensorFlow 2.x版本中的Eager Execution被认为是在动态计算图模式上追赶PyTorch的举措。

2.PyTorch的应用

PyTorch从2017年发布到2021年以来,发展势头迅猛,短短几年时间,就从无人知晓到与TensorFlow齐名,加上FastAI的支持,PyTorch得到了越来越多的机器学习开发者的青睐。尤其是在学术界,越来越多的论文和新技术基于Pytorch开发。截至2021年,从学术界发表论文的占比来看,PyTorch的使用已经超过60%,这说明了它在学术界的影响力。而在企业应用上,除了Facebook外,它也已经被Twitter、CMU和Salesforce等机构采用。

但工业生产领域,Pytorch的应用与TensorFlow相比还存在着差距。原因是PyTorch出现较晚,工业场景比研究领域相对滞后,并且已用TensorFlow实现的工业场景要替换为PyTorch也并不是一件容易的事情。随着学术界的成果产出及前沿技术的应用,在工业界使用PyTorch也可能成为一种趋势。

3.PyTorch的优缺点(www.xing528.com)

PyTorch的使用灵活、容易、快速的特点让深度学习的开发不再让人望而生畏。PyTorch的优点包括如下几个方面:

①简洁:更少的抽象、更直观的设计,使得PyTorch的源码十分易于阅读;基于动态图机制,更灵活和高效。

②上手快:掌握NumPy和基本深度学习概念即可上手。PyTorch的设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法,即所思即所得,不需要考虑太多关于框架本身的束缚。

③易于调试:调试PyTorch就像调试Python代码一样简单,十分灵活、透明。

④文档规范:官网上提供了各个版本、各种语言的完整文档,以及循序渐进的指南,如图4-18所示。

图4-18 官网中文教程

⑤活跃的社区:PyTorch作者亲自维护的论坛供用户交流和求教问题。GitHub上贡献者(Contributors)已超过1 100。

相比于研究实验,PyTorch在工业界的应用中存在很多限制性因素。比如,企业无法承担高昂的Python运行开销;无法在移动二进制中嵌入Python解释器;无法提供一个全面服务的功能,如不停机更新模型、无缝切换模型、在预测时间上进行批处理等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈