PyTorch为何如此受欢迎创始人Sou

治愈白癜风费用 http://news.39.net/bjzkhbzy/180611/6320423.html

众所周知,深度学习框架PyTorch的前身是Torch,从Torch发展到PyTorch,创建团队都做了哪些努力,又遇到了哪些挑战呢?在近日结束的JuliaCon活动中,PyTorch创始人SoumithChintala做了Keynote演讲,分享了一路走来的成长历程和经验教训。

PyTorch是深度学习领域最受欢迎的框架之一,初始版本于年9月由AdamPaszke、SamGross、SoumithChintala等人创建,并于年在GitHub上开源。PyTorch很简洁、易于使用、支持动态计算图而且内存使用很高效,因此越来越受开发者的喜爱。

7月28日-30日,JuliaCon线上活动顺利召开。在7月30日的SingleTrack活动环节,活动主办方邀请到了FAIR研究工程师、深度学习框架PyTorch创建者之一SoumithChintala。目前,他的研究兴趣集中于计算机视觉、机器人和机器学习系统。

在他的Keynote演讲中,SoumithChintala回顾了自己从Torch发展至PyTorch的心路历程,以及对开源社区的看法。他从以下几个方面进行了阐述:

理念原则

范围风险

度量指标

项目的扩展

在正式进入到演讲主题之前,SoumithChintala阐述了他对开源项目的看法,表示大多数开源项目并不仅仅是从「我们需要拥有1万名用户」这种预期开始的。这种预期没有意义,开源之旅应该更纯粹并充满活力。

在开源领域,我们一开始是基于个人兴趣来做事情的。通常来讲,只有当很多人都对某些想法和项目感兴趣并愿意付出时间时,它们才会自然地成长。

此外,就开源项目的发展规律而言,大多数小型开源项目在经过足够的努力和参与后,都会考虑发展壮大。那时,项目参与者已经确定了他们的核心兴趣和理念,这也是技术和文化堆栈的基础。接下来,他们就会竭尽所能营销并扩展自己的开源项目。从Torch到PyTorch也遵循这一发展规律。

PyTorch的理念原则

当考虑一个项目时,它可能是以技术为中心的项目,比如对张量的理解,又比如以用户为中心(例如Torch-7)的项目,它们传播的是易用性理念,而不关心什么技术或想法能让研究者更容易使用。

我在/年开始与Torch合作,并在Torch社区交了许多朋友,理解了他们作为一个整体所代表的隐含原则,和政治一样,开源在关系和原则上的定义是相当模糊的。

因此,多年来,我逐渐理解并欣赏到Torch是一款以用户为中心的产品,它具有即时模式、易于调试、不受影响等特性。Torch的目标用户是一些熟悉编程的人,这些用户能够理解性能等问题,可以根据工作需要,他们能够编写一个C函数并快速地将其绑定进去。

当我们编写PyTorch程序时,我意识到在一个有机的开源社区中,并不是每个人都支持相同的原则。我们在Torch社区中有一些非常重要的成员反对Python,尽管我们以用户为中心的观点允许我们朝着这个方向前进。然后,我们必须做出决定是带他们一起发展还是把他们留下。这些都是困难的决定,因为没有正确的答案,只能领导者必须迅速做出的主观判断。

在这种情况下应该思考什么时候保持固执,什么时候保持妥协。我的观点是,你必选在理念、原则上保持固执,但其他一切都是可以改变的。

这一观点非常有用,随着时间的推移,PyTorch带来并集成了Caffe2社区和Chainer社区,并与Jax和Swift4TF保持友好关系。PyTorch社区变得越来越大,在这个社区中你可以得到更广阔的视角,随着时间的推移,这些视角会使项目变得越来越好。如果你坚持自己的核心原则,你就不会真的在你最初的愿景上妥协,只会让它变得更好。

PyTorch的范围风险

推动Torch社区发展是一个挑战,除此以外,面临的另一个挑战是TensorFlow,据了解TensorFlow拥有比PyTorch多10到30倍的开发人员。不过,TensorFlow正在努力为所有人提供便利,这对PyTorch研究者来说是非常有益的。此外,TensorFlow是一个自上而下计划的项目,需要大量的资源。

所以,我们很自然地采取了完全相反的方法,主要是为了在现实的条件下生存和竞争。我们决定,除了ML研究人员,我们不


转载请注明:http://www.aierlanlan.com/grrz/2001.html

  • 上一篇文章:
  •   
  • 下一篇文章: