详细内容或原文请订阅后点击阅览
luz 0.3.0
luz 版本 0.3.0 现已在 CRAN 上发布。luz 是 torch 的高级接口。
来源:RStudio AI博客我们很高兴地宣布,luz 0.3.0 版现已在 CRAN 上发布。此版本对 ChrisMcMaster 首次贡献的学习率查找器进行了一些改进。由于我们没有 0.2.0 版本发布帖子,我们还将重点介绍可追溯到该版本的一些改进。
luz
ChrisMcMaster
什么是 luz?
luz
由于它是一个相对较新的软件包,我们将从 luz 的工作原理开始这篇博文。如果您已经知道 luz 是什么,请随时继续阅读下一部分。
相对较新的软件包luz
luz
luz 是 torch 的高级 API,旨在将训练循环封装到一组可重用的代码片段中。它减少了使用 torch 训练模型所需的样板代码,避免了容易出错的 zero_grad() - behind() - step() 调用序列,还简化了在 CPU 和 GPU 之间移动数据和模型的过程。
luz
torch
torch
zero_grad()
behind()
step()
使用 luz,您可以使用 torch nn_module(),例如下面定义的两层感知器:
luz
torch
nn_module()
modnn <- nn_module( initialize = function(input_size) { self$hidden <- nn_linear(input_size, 50) self$activation <- nn_relu() self$dropout <- nn_dropout(0.4) self$output <- nn_linear(50, 1) }, forward = function(x) { x %>% self$hidden() %>% self$activation() %>% self$dropout() %>% self$output() })
modnn <- nn_module( 初始化 = function(input_size) { self$hidden <- nn_linear(input_size, 50) self$activation <- nn_relu() self$dropout <- nn_dropout(0.4) self$output <- nn_linear(50, 1) }, forward = function(x) { x %>% self$hidden() %>% self$activation() %>% self$dropout() %>% self$output() })
modnn <- nn_module(
modnn
<-
nn_module
(
初始化 =函数(输入大小){
=
函数
(
输入大小
)
{
self$hidden <- nn_linear(输入大小,50)
自身
$
隐藏
<-
nn_linear
(
输入大小
50
)
self$activation <- nn_relu()
自身
$
激活
<-
nn_relu
(
)
self$dropout <- nn_dropout(0.4)
self
$
dropout
<-
nn_dropout
(
0.4
> )
self$output <- nn_线性(50, 1)
self
$
<-