请允许我自我介绍:R 版 Torch

今天,我们很高兴推出 torch,这是一个 R 包,可让您从 R 原生使用类似 PyTorch 的功能。无需安装 Python:torch 直接基于 libtorch 构建,libtorch 是一个 C++ 库,提供构建神经网络所必需的张量计算和自动微分功能。

来源:RStudio AI博客

去年 1 月,在 rstudio::conf 上,在那个遥远的过去,会议仍然习惯于在某个物理位置举行,我的同事 Daniel 发表了演讲,介绍了 tensorflow 生态系统中的新功能和正在进行的开发。在问答环节,他被问到了一个意想不到的问题:我们是否会构建对 PyTorch 的支持?他犹豫了;这实际上是计划,他之前已经尝试过本地实现 torch 张量,但他并不完全确定“它”会如何工作。

rstudio::conf Daniel tensorflow PyTorch torch

“它”,即不绑定到 Python Torch 的实现,这意味着,我们不安装 PyTorch wheel 并通过 reticulate 导入它。相反,我们委托底层 C++ 库 libtorch 进行张量计算和自动微分,而神经网络功能(层、激活、优化器)则直接在 R 中实现。删除中间层至少有两个好处:首先,更精简的软件堆栈意味着安装过程中可能出现的问题更少,故障排除时需要查找的地方也更少。其次,由于不依赖 Python,torch 不需要用户安装和维护合适的 Python 环境。根据操作系统和环境,这可能会产生巨大的差异:例如,在许多组织中,不允许员工在其笔记本电脑上操作特权软件安装。

reticulate libtorch torch libtorch torch

你现在不在笔记本电脑旁?只需在 Colaboratory 上的配套笔记本中继续操作即可。

Colaboratory 上的配套笔记本

安装

torch

torch

安装 torch 非常简单,只需输入

torch

这将检测您是否安装了 CUDA,并下载 CPU 或 GPU 版本的 libtorch。然后,它将从 CRAN 安装 R 包。要使用最新的功能,您可以从 GitHub 安装开发版本:

libtorch
devtools::install_github("mlverse/torch")
devtools :: install_github ( ) ( 1