pytorch可以说是torch的python版,然后增加了很多新的特性
torch是火炬的意思
上面的对比图来源于官网,官方认为,这两者最大的区别就是Pytorch重新设计了model模型和intermediate中间变量的关系,在Pytorch中所有计算的中间变量都存在于计算图中,所有的model都可以共享中间变量。而在torch中的中间变量则在每一个模块中,想要调用其他模块的参数就必须首先复制这个模块然后再调用,Python有很多特性是lua语言不具备的,Python的debug功能比lua强大很多,所以效率也就提升了
Pytorch与Torch
Pytorch采用python语言接口来实现编程,而torch是采用lua语言。Lua相当于一个小型加强版的C,支持类和面向对象,运行效率极高,与C语言结合“特别默契”,也就是说在Lua中使用C语言非常容易。torch是采用C语言作为底层,然后lua语言为接口的深度学习库。Pytorch也是主要采用C语言为接口,另外除了C语言那还有C++,因为Pytorch吸收结合了caffe2,进行了很多代码合并,现在Pytorch的底层虽然大部分还是C语言,但是接口什么的也逐渐向C++过渡。
目前来看,两者的底层库的C语言部分区别还是不大,尽管Pytorch使用了C++接口,但是由于代码的兼容性,使用torch拓展的底层代码在Pytor