已知 以往的深度学习是以python作为编程语言;
但它的深度学习训练以C++后端为基础(这些C++后端提供了 诸如 Tensor 这种class ; CUDA优化方法 ; Auto Differentiation 等等 )
libtorch就是直接以这些C++后端作为基础,使得人们可以直接用C++作为前端编程语言进行深度学习的训练
补充说明:
这里面经常说的深度学习的frontend 是 python ,这里的frontend 含义是 对应的程序设计语言
一个简单的libtorch深度学习训练例子 :
(对比下方图片的pytorch语法发现两者之间很相近)
注意:
libtorch不一定比pytorch快
因为:Python 前端调用 C++ 来处理几乎任何计算成本很高的事情(尤其是任何类型的数值运算),这些运算将占用程序中花费的大部分时间。
但当我们有关于:多线程、延迟或部署要求 ,那么,使用libtorch是一个好的选择
ref :
官方介绍视频:
pytorch 的 Tutorials : Using the PyTorch C++ Frontend — PyTorch Tutorials 1.12.1+cu102 documentation