热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MATLAB和pytorch,PyTorch到底好用在哪里

PyTorch和TensorFlow到底哪个更好?大部分的说法不同,在此本人只说说我的看法。转pytorch快一年了吧,回答一发。和pyt

PyTorch和TensorFlow到底哪个更好?大部分的说法不同,在此本人只说说我的看法。转pytorch 快一年了吧,回答一发。和pytorch 对标的不应该是tensorflow caffe,而是keras 和gluon。

2515de7545752ba0287559d0fa866b9e.png

在pytorch 出来之前keras 是我的首选工具,网络定义方便,并且有当时唯一的dataset类,实现一些简单的augment还可以。后来pytorch 出来了,大家才发现dataloader可以玩出这么多的花样,比如weight sampler ,collect fn。梯度可以在这么多种组合中一起反传,对一些需要同步更新backbone 的任务非常友好。以前觉得很难实现的op 比如hard negative mining,ohem(pytorch 的loss可以按照tensor中每个cell 回传梯度),在eager模式下可以很容易实现,对代码的掌控能力更强了。并且由于forward的存在,可以结合if else语句控制tensor的流向。

齐次,Pytorch 本身设计之初就是以py为主,这就要求在cpp和python之间尽可能的向python 靠拢,所以在pytorch中,所有Module 类都含有对一个forward 和backward的方法,哪怕是不懂cffi ,也可以轻松使用cpp cuda拓展的op。毕竟参数都是在module里定义的,运算已经尽可能的屏蔽掉了。

但是目前pytorch 最麻烦的一点就是deployed。虽然支持导出onnx,但是支持的op少的可怜。同事也吐槽过一些内存泄露的问题,并且那个libtorch的完成度实在不敢恭维,想要模型最终跑在trt上还要走好多路啊。



推荐阅读
author-avatar
奔跑的饼干的饼干桶_698
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有