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 $ <-