用R也可以编写tensorflow。现在深度学习在计算机领域应用得很广,图像识别,语音识别,等等。但是很多可以应用但是还没有应用得领域,包括生物,医学。R语言的深度学习为向计算机之外领域的应用提供了新的可能。
The following canned estimators are currently available:
开始吧
安装
要使用tfestimators,您需要安装R软件包以及TensorFlow本身。
首先,安装来自CRAN的tfestimators R软件包,如下所示:
install.packages("tfestimators")
install_tensorflow()
简单的例子
我们用mtcars数据集创建一个简单的线性回归模型来演示估计器的使用。 我们将说明如何构建“输入函数”并用于向估计器提供数据,如何使用“特征列”来指定一组应用于输入数据的变换,以及这些部分如何组合在估计器中 接口。
输入函数
估算人员可以通过“输入函数”接受来自任意数据源的数据。 输入函数从输入源中选择特征和响应列,并定义如何绘制数据(例如批量大小,时期等)。 tfestimators包提供了input_fn()辅助函数,用于从公共R数据结构生成输入函数,例如, R矩阵和数据帧。
在这里,我们定义一个辅助函数,它将为我们的mtcars数据集的一个子集返回一个输入函数。
mtcars_input_fn <- function(data, num_epochs = 1) {
input_fn(data,
features = c("disp", "cyl"),
response = "mpg",
batch_size = 32,
num_epochs = num_epochs)
}
特征栏
接下来,我们为我们的模型定义特征列。 特征列是原始输入数据与数据的映射,我们将实际输入到我们的培训,评估和预测步骤中。 在这里,我们创建一个包含disp和cyl变量的特征列表:
cols <- feature_columns(
column_numeric("disp"),
column_numeric("cyl")
)
也可以这样
cols <- feature_columns(
column_numeric("disp", "cyl")
)
建模
接下来,我们通过调用linear_regressor()函数并向其传递一组特征列来创建模型:
model <- linear_regressor(feature_columns = cols)
训练
我们现在准备好使用train()函数来训练我们的模型。 我们将mtcars数据集划分为不同的训练和验证数据集,并将训练数据集输入train()。 我们将保留20%的数据用于验证。'
indices <- sample(1:nrow(mtcars), size = 0.80 * nrow(mtcars))
train <- mtcars[indices, ]
test <- mtcars[-indices, ]
# train the model
model %>% train(mtcars_input_fn(train, num_epochs = 10))
[/] Training -- loss: 7475.36, step: 8
进行评估
model %>% evaluate(mtcars_input_fn(test))
[-] Evaluating -- loss: 1035.53, step: 1# A tibble: 1 x 3
average_loss loss global_step
<dbl> <dbl> <dbl>
1 148 1036 8.00
进行预测
obs <- mtcars[1:3, ]
model %>% predict(mtcars_input_fn(obs))
储存模型
saved_model_dir <- model_dir(model)
使用储存的模型进行预测
library(tfestimators)
cols <- feature_columns(
column_numeric("disp", "cyl")
)
loaded_model <- linear_regressor(feature_columns = cols,
model_dir = saved_model_dir)
loaded_model