pytorch和torch框架对比(区别 联系)

一 区别

1.1 编程语言

pytorch 采用 python 语言。编程实际是 C语言做底层和C++做接口
torch 采用 lua 语言。编程实际是是 C语言做底层和lua语言做接口的深度学习库
知识扩展: Lua相当于一个小型加强版的C语言,支持类和面向对象

1.2 依赖库

pytorch 可调用python强大的第三方库,比如 opencv
torch 可调用 lua 库函数,目前 lua库函数没有python多
pytorch 依赖库多于 torch

1.3 效率

python的debug功能比lua强大很多,所以 pytorch 效率大于 torch

1.4 模型和中间变量的关系

pytorch中中间变量都存在于计算图中,所有model共享中间变量
torch中的中间变量则在每一个模块中,想要调用其他模块的参数就必须首先复制这个模块然后再调用

1.5 编写模型

pytroch:可直接修改 forward 函数
torch:不建议直接修改forward 函数,通常是修改updateOutput函数来实现forward操作


二 联系

2.1 编程

torch 代码在Pytorch中照样可以编译使用

2.2 编写模型

用autograd技术实现自动求导,不需要再去麻烦地写反向传播的计算函数

2.2 总结

pytorch可以说是torch的python版,并增加了很多新功能


三 官网图

pytorch和torch框架对比(区别 联系)_第1张图片


四 两种深度学习框架选择

新手小白,入门推荐 pytorch
如果想学扎实,两种框架pytorch torch 同时使用,难度系数也不高

你可能感兴趣的:(经验)