学习
实践
活动
工具
TVP
写文章

初识pytorch(一)

pytorch和TensorFlow的区别

TensorFlow目前是DeepLearning中最常用的开发工具,它不仅仅是一个框架,更是一个囊括了DeepLearning整个开发、服务流程的工具,而且已经继承了很多成熟的模型,发展很快。

pytorch更偏重于框架,相对于TensorFlow,它更精简,更贴近python语法,尤其是对动态图的天然支持,写pytorch就像写python一样自然。

成熟程度上,TensorFlow更胜一筹,目前要发布2.0版本了,已经得到开源社区得长期检验;

学习难度上,pytorch更好一些,因为动态图的支持,更贴近程序语言,方便调试

市场覆盖上,肯定是TensorFlow更广泛,但是pytorch的发展也很迅速,目前开发DeepLearning模型,需要的工具,也都能提供。

网上有很多不错的介绍,如:

面对Tensorflow,为何我选择PyTorch

PyTorch VS TensorFlow:细数两者的不同之处

TensorFlow更像是一个系统,给你定义好了一切,pytorch更像是一个库,你需要更多的探索。

pytorch的tensor

不论哪种深度学习框架,都会以tensor作为最基础的数据结构,就像TensorFlow它的名字一样。pytorch的tensor和TensorFlow的tensor理念上基本一致,可以放在CPU中计算,也可以放在GPU中计算。

生成一个Tensor,和python初始化一个数据结构的流程一样,只要给他赋值就可以,不像Tensorflow需要定义成placeholder之类的,比较简洁,这也是动态图的好处。

看到这里,是不是想到numpy里面的ndarray?是的,pytorch是可以作为numpy的替代,它不仅可以像numpy那样在CPU中运算,还可以在GPU中,所以我们使用的时候,可以这样想,pytorch可以像numpy那样,而且继承了深度学习需要的自动推导等功能

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180828G018BL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券