详细内容或原文请订阅后点击阅览
torch:用于无 R 模型部署的即时编译 (JIT)
使用 torch 即时 (JIT) 编译器,可以使用另一种语言查询用 R 训练的模型,前提是该语言可以使用低级 libtorch 库。这篇文章展示了如何做到这一点。此外,我们试图理清围绕该主题的一些术语混乱。
来源:RStudio AI博客注意:要跟上这篇文章,您需要 torch 0.5 版,截至撰写本文时,该版本尚未在 CRAN 上发布。同时,请从 GitHub 安装开发版本。
注意:要跟上这篇文章,您需要 torch 0.5 版,截至撰写本文时,该版本尚未在 CRAN 上发布。同时,请从 GitHub 安装开发版本。torch
GitHub
每个领域都有其概念,在从复制并使其发挥作用到有目的、有意识地利用的过程中,人们在某个时候需要理解这些概念。此外,不幸的是,每个领域都有其术语,术语的使用方式在技术上是正确的,但无法给尚未入门的人留下清晰的印象。(Py-)Torch 的 JIT 就是一个例子。
术语介绍
“JIT” 在 PyTorch 世界中被广泛讨论,也是 R torch 的一个突出特性,它同时是两件事——取决于你如何看待它:一个优化编译器;以及在许多没有 R 或 Python 的环境中自由执行的通行证。
torch
编译、解释、即时编译
“JIT” 是“即时”的常用缩写 [即:编译]。编译意味着生成机器可执行的代码;这是每个程序必须发生的事情,才能使其可运行。问题是什么时候。
编译 解释java
R
python
运行时
字节码
即时编译
torch 即时编译器
torch
如果这听起来很复杂,不要害怕。要真正利用 R 的这一功能,不需要学习太多语法知识;一个函数加上一些专门的助手就可以解决所有繁重的工作。但重要的是了解一点 JIT 编译的工作原理,这样您就知道会发生什么,并且不会对意外的结果感到惊讶。
接下来的内容(在本文)
这篇文章有三个部分。
torch
如何使用 torch JIT 编译
torch
were
jit_trace()
library(torch)
library
library
(
torch
torch
)
f
<-
function
(
x
)
{
(
x