作为一名AI工程师,掌握一门深度学习框架是必备的生存技能之一。
自 TensorFlow 从 Google 中脱颖而出以来,它在研究和商业领域成为最受欢迎的开源深度学习框架,紧接着 从 Facebook 诞生的 PyTorch 由于社区推动的易用性改进和越来越广泛的用例部署,而迅速赶上TensorFlow。
两个框架在当年一度备受争议,TensorFlow和PyTorch谁更好?
一位面试官说:从去年校招开始到现在负责部门的面试,从我手上流走的简历多多少少也有上百封了。
面试了很多候选人,当问他们常用的深度学习框架时,发现他们清一色的选择了:PyTorch。
从各个方面可以看出,经过这些年的发展,PyTorch在学术圈的「垄断」地位基本已经站稳。
诚然,比起TensorFlow,大多数研究人员更偏爱PyTorch的API,PyTorch设计更科学,而TensorFlow自推出2.0版本后,与TF 1.x 的API差异实在不小,导致doc的阅读成本和版本适配成本都相当高。
如果是初学者,无脑Pytorch就对了。社区资源多、开源代码多、上手也很简单,各大厂商对Pytorch的支持也多(TensorRT、ONNX)。
其实框架的作用就是我们无需造轮子可以直接使用,并且节省工作量,对于Pytorch来说对研究友好、对训练友好、对白嫖大佬的开源代码也友好,对模型部署也友好,可以节省大把时间去做其他有意义的事情,没有理由不使用Pytorch。
如果是工作了,就看公司在用什么吧,因为公司是面向需求的。
在业界,无论算法性能有多好,总归还是要上线的,选择框架的时候便会考虑以下这些问题