37
回答
高手问答第 185 期 —— 聊聊饱受 Pythoner 好评的深度学习框架 PyTorch
华为云数据库免费试用   

OSCHINA 本期高手问答(1 月 10 日 - 1 月 16 日)我们请来了@tmux 陈云为大家解答关于深度学习框架 PyTorch 方面的问题。

陈云,Python 程序员、Linux 爱好者和 PyTorch 源码贡献者。主要研究方向包括计算机视觉和机器学习。“2017 知乎看山杯机器学习挑战赛”一等奖,“2017 天池医疗 AI 大赛”第八名。热衷于推广 PyTorch,并有丰富的使用经验,活跃于 PyTorch 论坛和知乎相关板块。

2016 年是属于 TensorFlow 的一年,凭借谷歌的大力推广,TensorFlow 占据了各大媒体的头条。2017 年年初,PyTorch 的横空出世吸引了研究人员极大的关注,PyTorch 简洁优雅的设计、统一易用的接口、追风逐电的速度和变化无方的灵活性给人留下深刻的印象。

作为一门 2017 年刚刚发布的深度学习框架,研究人员所能获取的学习资料有限,中文资料更是比较少。陈云长期关注 PyTorch 发展,经常在论坛上帮助 PyTorch 新手解决问题,在平时的科研中利用 PyTorch 进行各个方面的研究,有着丰富的使用经验。

本期问答内容:

  • PyTorch 的优势与特点
  • PyTorch 的学习之路
  • PyTorch 的奇技淫巧
  • PyTorch 使用注意事项

或者其它关于 PyTorch 的问题,也欢迎大家积极提问!

为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《深度学习框架PyTorch:入门与实践》一书。

购买链接:https://item.jd.com/12261129.html?dist=jd

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 PyTorch 方面问题向@tmux  陈云提问,请直接回帖提问。

举报
局长
发帖于8个月前 37回/3K+阅
共有37个答案 最后回答: 8个月前

@tmux  PyTorch和tensorflow对比,有啥优势和劣势

--- 共有 2 条评论 ---
tmuxPyTorch简单灵活易上手,动态图的设计理念更先进。 根据我个人的经验,用PyTorch的时候,我专注于我的想法,模型。而我用TensorFlow的时候,需要不断的查看文档,修改语法细节,经常打断我的思路。 https://www.zhihu.com/question/65578911/answer/249894984 这里有一篇知乎回答,你可以参考一下。 8个月前 回复
假红薯期待tmux的回答! 8个月前 回复

@tmux  您好,一直对新技术领域很有兴趣,新手怎么快速进入深度学习这个领域,直接上手这个框架可以吗?还是需要先掌握些其他基础型的技术知识呢?看过您在知乎上回答的新手如何入门pytorch

--- 共有 2 条评论 ---
萌唬吓删@tmux 回复@tmux : 好的,谢谢您 8个月前 回复
tmux看一些关于深度学习的博客,了解基本的深度学习背景知识(卷积,梯度,优化器等)。然后差不多就可以学PyTorch了。深度学习比机器学习简单许多,更偏向于工程。 8个月前 回复

@tmux

tf 1.5也支持动态图后,pytorch的优势还有哪些?

--- 共有 1 条评论 ---
tmuxtf的动态图。。。 并不成熟。 其实当初tf fold出来的时候,大家就说tf支持动态图了,然而现在tf fold已经基本dead了。后来tf imperative 又说能让tf支持命令式编程,但是现在它已经从tensorflow中移除了。 tf eager强行把静态图加上一个动态图的运行方式,就目前来看还很buggy,离PyTorch/Gluon/chainer还有很大差距。 8个月前 回复
@tmux 今天用torch遇到的一个问题:为什么torch.linspace方法没有cuda实现,如果将默认Tensor类型设为cuda.FloatTensor,使用linspace就会报错。
--- 共有 2 条评论 ---
mocouthx 8个月前 回复
tmux这个确实是个问题,不过貌似大家用的不多,所以一直也没有更新。 https://github.com/pytorch/pytorch/issues/1070 可以先用numpy构建,然后转成tensor->cuda 8个月前 回复

@tmux

你好,看了上面的讨论,目前Pytorch训练出来的模型不建议在生产环境下直接部署,需要通过ONNX将它转化成Caffe模型后在生产环境下使用,ONNX听说过没用过,转化后的模型,有兼容性问题嘛?会不会影响模型的运行速率,识别精度等等?

谢谢。

--- 共有 1 条评论 ---
tmux目前ONNX已经发布1.0 的版本。几个经典的模型(vgg,resnet等)都已经测试过了,没有效率和精度的损失。除了一些很冷门的算子,基本上没有兼容性的问题。 8个月前 回复

@tmux 1. 目前好像又出了一个tensorlang的专用微分语言, 目前是否有必要真的开发一个专用的ML语言?python有哪些缺陷?其它语言目前还有机会吗?2. Pytorch除了动态图方面,与tensorflow比还有哪些优势?3.另外,是否可以推荐一些经典书籍,包括实战方面的?谢谢。

--- 共有 5 条评论 ---
xiaoaiwhc1 回复 @tmux : Python对ML的好处就是matrix操作简洁,其它类型安全语言写起来就没有这么直观了。个人感觉,底层用其它编译型语言提高料率,上层用python,只要生态做起来,地位就很难撼动了。 8个月前 回复
xiaoaiwhc1 回复 @tmux : 确实,好书难找,有些ML的书光Python的知识就占了一半,完全是曾热点的呀。 8个月前 回复
tmux3. 认真的,我觉得《深度学习框架PyTorch:入门与实践》写的还可以,至少比较用心,比我买的大多数技术书籍都要好,我曾见过一本两百页的书把conda安装的log输出打了五页。。。 8个月前 回复
tmux2. Caffe也是静态图,但是比TensorFlow简单,快。TensorFlow太复杂了,是没必要的复杂。谷歌什么都想自己造个轮子,连命令行参数都要自己写一个--明明已经有现成的。无形之中增加了我们的学习成本。 8个月前 回复
tmux1. 如果你不知道要不要学某一门DSL,那么你可以不学(“如果您想知道是否需要它们,则可以不用它们----python 元类”)Python缺陷就是低效,某些需要特殊的操作还必须用C/C++写,然后封装成Python接口。 8个月前 回复

@tmux你好,小硕一枚,只看点caffe,不过主要还是为了发论文(研究主要是cnn和rnn方面),不知道pyTorch适合学术发论文不?还是其他的框架更好?有没有推荐?谢谢

--- 共有 4 条评论 ---
紫林落雪 回复 @tmux : 嗯 好的 非常感谢 8个月前 回复
tmux 回复 @紫林落雪 : 我觉得《深度学习框架PyTorch:入门与实践》写的不错,由浅入深. 可以参考一下. 如果不想买书,书中的代码都在 https://github.com/chenyuntc/pytorch-book 8个月前 回复
紫林落雪 回复 @tmux : 嗯 好的,那我应该这样才能快速的掌握,入门pyTorch呢? 8个月前 回复
tmuxPyTorch 很适合学术研究, 很灵活,适合实现你自己的idea. 斯坦福cs231n的课程中说了 PyTorch是最适合科研用的框架. 8个月前 回复

@tmux 你好,请问Pytorch适合深度学习的小白学习使用吗,同样上面推荐的这本书适合用于深度学习入门吗?

--- 共有 1 条评论 ---
tmux这本书需要有一定的深度学习基础,了解什么是卷积,全连接,优化器,梯度等。不过要求不高,基本上有个大概的印象即可。 我觉得Keras是对新手最容易上手的深度学习框架,但是它把深度学习变成了一个黑箱,不利于后续学习,也不够灵活。而PyTorch是最适合新手学习的框架,相对来说易上手,而且灵活,快速。 8个月前 回复
顶部