PyTorch vs TensorFlow:如何选择深度学习框架?

PyTotrch 默认使用动态计算图,用法类似于numpy,可以直接看到tensor的具体信息,故在使用时非常灵活,方便调试。相比之下,TensorFlow就没有那么灵活了。TensorFlow采用的是静态计算图,它的想法是让你把模型的每一个细节都设计打包好,然后它在把数据和模型一股脑拿去运算,不允许你中途查看tensor信息。

PyTorch和TensorFlow选哪个 pytorch与tensorflow的区别_动态图

举个不太恰当的例子,TensorFlow 就是个快递员,你先把需要寄的东西打包好,然后给快递员寄到指定地点,中途你要是发现漏寄了什么东西已经没法让快递员回来了,也无法得到快递有没有被压扁啥的。PyTorch则不一样,PyTorch 你就是快递员,你就是货车司机,中途要是发现包裹里漏寄了什么东西或者包裹损坏了可以立马掉转车头,回去处理。

两种框架各有优缺点,性能差异不大,用哪个看个人喜好,没有谁更优越一说。

TensorFlow 较为成熟,工业上用的较多,且因为是静态图,设计好了后便不能改动,开始运算,减少了计算机和磁盘之间的交互,效率较高;但也带来了灵活性差的问题,想看中间某个tensor的shape还得写个print在跑一下sess(借助pycharm可以查看变量信息),如果计算图中间出了什么bug想要修改非常麻烦,这也是我放弃TensorFlow 转向 PyTorch 的主要原因。

PyTorch和TensorFlow选哪个 pytorch与tensorflow的区别_pytorch_02

PyTorch 主要在学术界用得多,但我相信随着学术界的人才慢慢毕业进入工业界,会带来不一样的景象。相比TensorFlow,PyTorch 灵活得多,用法与numpy类似,查看变量信息、debug方便,用好了深度学习像呼吸一样自然。至于动态图和静态图,笔者粗略地认为,动态图的数据交互是会多一点,但是动态图修改好没bug了,跑起来不也和静态图一样了吗?



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空