TensorFlow 和 PyTorch 的区别

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

0SM81.png

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

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

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

0SS6e.png

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

参考资料:

[1] https://blog.csdn.net/ibelieve8013/article/details/84261482

[2] https://stackoom.com/question/4EX6g

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
是的,TensorFlowPyTorch可以共存并在同一项目中使用。虽然它们是两个不同的深度学习框架,但它们都提供了强大的功能和丰富的生态系统。 如果你想同时使用TensorFlowPyTorch,你可以根据需要在不同的部分使用它们。例如,你可以使用TensorFlow构建一个模型,并使用PyTorch进行训练和推理。这种混合使用的方式可以根据你的需求和喜好进行灵活选择。 要在同一项目中使用TensorFlowPyTorch,你需要确保正确安装和配置了两个框架。可以使用pip或conda来安装它们,并按照各自框架的文档进行设置和配置。 在代码中,你需要根据需要导入和使用TensorFlowPyTorch的库和函数。例如,对于TensorFlow,你可以使用`import tensorflow as tf`进行导入,并使用`tf.xxx`的方式调用TensorFlow的函数和类。对于PyTorch,你可以使用`import torch`进行导入,并使用`torch.xxx`的方式调用PyTorch的函数和类。 需要注意的是,由于TensorFlowPyTorch是两个不同的框架,它们的语法和API可能有所不同。在使用时,你需要根据具体框架的文档和示例进行学习和开发。同时,确保你理解每个框架的特性和工作原理,以便正确地使用它们。 总结起来,TensorFlowPyTorch可以在同一项目中共存,你可以根据需要使用它们的功能和特性。这种灵活性使你能够更好地利用两个框架的优势来开发深度学习应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin Davis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值