金融情报局网_中国金融门户网站 让金融财经离的更近

硬核科普|深度学习主流开发框架解读和比较(下篇)

当前位置:金融情报局网_中国金融门户网站 让金融财经离的更近>投稿 > 正文  2023-08-11 04:29:35 来源:金博士

专题推荐:金博士AI技术干货分享

系列文章:硬核科普|深度学习主流开发框架解读和比较(上篇)


【资料图】

硬核科普|深度学习主流开发框架解读和比较(中篇)

本文的知识点

通过本文,读者可以从中学习和掌握的关键知识点,包括:

1. 深度学习框架:了解不同的深度学习框架,如PyTorch、TensorFlow和Keras,并理解每个框架的特定优势和使用场景。

2. 每个框架的技术细节:了解每个框架的技术规格,如所用的编程语言、操作的API级别,以及架构类型

3. 性能比较:理解这些框架在性能上的差异,如速度和处理大数据集的能力,例如Keras适合较小的数据集,而PyTorch和TensorFlow适合处理大数据集并提供高性能。

4. 如何选择合适自己或行业的框架:学习在选择深度学习框架时应考虑的因素,如数据集的大小和类型、可用性的模型集,社区支持以及部署相关的流程和工具等。

"我“应该选择PyTorch还是TensorFlow?

在深度学习框架的选择上,PyTorch和TensorFlow一直是两个主要的竞争者。事实上,是否有一个固定的“更好”的答案,实际上取决于具体的应用场景和需求。为了帮助你决定哪个框架最适合你,我们会讨论一些关键的区别和考虑因素。

首先,虽然PyTorch和TensorFlow都是先进的深度学习框架,它们之间仍有一些关键的不同。例如,PyTorch以其对动态计算图的支持和易用性而闻名,相比之下,TensorFlow虽然拥有更多的库,但可能需要额外的时间来学习和理解其概念。

在选择深度学习框架时,最重要的是要清楚自己的目标。如果你希望快速学习且不需要投入太多努力的框架,那么在大多数情况下,PyTorch是一个不错的选择。而如果你期望的是一个能够支持大规模计算并且适用于生产环境的框架,那么TensorFlow可能会是你的理想选择。

总的来说,关于PyTorch和TensorFlow哪个更好,并没有绝对的答案。你的选择应当根据你的具体需求和应用场景来进行。为了帮助你决定哪个框架最适合你,下面通过流程图的形式,进行解说。

行业工程师

图 7 行业工程师框架选择流程图

如果你在行业环境中从事深度学习的开发工作,并已经在使用TensorFlow,我们建议你继续使用它。TensorFlow的强大部署框架和端到端的TensorFlow Extended平台对于那些期望生产化模型的人来说是无比珍贵的资源。然而,TensorFlow的高抽象级别可能会导致编码时间更长,并需要更深入的计算机科学和工程知识。

相反,如果你有访问特定于PyTorch的先进模型的需求,你可以考虑转向PyTorch,特别是在最近发布的TorchServe的帮助下。然而,你可能需要借助ONNX将PyTorch模型进行转化把集成到TensorFlow的部署流程中。

对于那些正在开发适用于物联网(IoT)设备或嵌入式系统的机器学习或深度学习应用的人来说,TensorFlow是最佳的选择,主要是因为其TFLite + Coral管道的支持。然而,如果你正在构建移动应用,PyTorch也是一个不错的选择,尤其是借助最近发布的PyTorch Live的帮助。当然,如果你的应用需要处理视频或音频输入,那么你可能更倾向于选择TensorFlow。

如果你正在启动一个全新的项目,建议你使用PyTorch构建模型,然后利用TensorFlow的工具进行模型部署。

因此,在必须在多个框架之间做出选择的情况下,我们总体上建议使用TensorFlow,但特定的情况可能需要具体的考虑。

科研人员

图 8 科研工作者框架选择的流程图

PyTorch是目前研究领域广泛使用的框架,因此你可以在其上找到大部分最新和最先进的模型。如果你是一名研究人员,且已经在使用PyTorch,我们建议你继续使用它。它具备研究人员所需要的一切功能,例如强大的GPU能力、易用的API、伸缩性以及出色的调试工具,这使得你可以快速启动项目。

然而,如果你的研究领域是强化学习,TensorFlow可能是更好的选择。TensorFlow具有一个针对强化学习的原生agent库,而且DeepMind的Acme强化学习研究框架也是基于TensorFlow实现的。

PyTorch 2.0的发布为其带来了更多可能性。它保留了原有的即时执行开发模式和用户友好的体验,同时在底层编译器层面进行了重大的改进和加强,使得PyTorch能够更高效地运行,并支持动态形状和分布式计算。

尽管我们鼓励研究人员尝试JAX,尤其是在Google的TPUs上进行模型训练时,但我们认为,大部分研究人员今年仍然会选择使用PyTorch。

还需要注意,尽管TensorFlow在强化学习领域具有一定优势,但随着强化学习在深度学习研究中的使用越来越广泛,未来几年PyTorch在这个领域的生态系统可能会变得更加强大。

最后,如果你是一名科研工作者并且需要在这些框架中做出选择,我们通常推荐使用PyTorch。然而,无论你最终选择哪个框架,我们建议你在2023年密切关注JAX的发展,因为它的社区正在快速成长,并且越来越多的出版物也开始推荐和使用它。

教育工作者

关键词: