用R也可以編寫tensorflow?,F(xiàn)在深度學(xué)習(xí)在計算機領(lǐng)域應(yīng)用得很廣,圖像識別,語音識別,等等。但是很多可以應(yīng)用但是還沒有應(yīng)用得領(lǐng)域,包括生物,醫(yī)學(xué)。R語言的深度學(xué)習(xí)為向計算機之外領(lǐng)域的應(yīng)用提供了新的可能。
The following canned estimators are currently available:

開始吧
安裝
要使用tfestimators,您需要安裝R軟件包以及TensorFlow本身。
首先,安裝來自CRAN的tfestimators R軟件包,如下所示:
install.packages("tfestimators")
install_tensorflow()
簡單的例子
我們用mtcars數(shù)據(jù)集創(chuàng)建一個簡單的線性回歸模型來演示估計器的使用。 我們將說明如何構(gòu)建“輸入函數(shù)”并用于向估計器提供數(shù)據(jù),如何使用“特征列”來指定一組應(yīng)用于輸入數(shù)據(jù)的變換,以及這些部分如何組合在估計器中 接口。
輸入函數(shù)
估算人員可以通過“輸入函數(shù)”接受來自任意數(shù)據(jù)源的數(shù)據(jù)。 輸入函數(shù)從輸入源中選擇特征和響應(yīng)列,并定義如何繪制數(shù)據(jù)(例如批量大小,時期等)。 tfestimators包提供了input_fn()輔助函數(shù),用于從公共R數(shù)據(jù)結(jié)構(gòu)生成輸入函數(shù),例如, R矩陣和數(shù)據(jù)幀。
在這里,我們定義一個輔助函數(shù),它將為我們的mtcars數(shù)據(jù)集的一個子集返回一個輸入函數(shù)。
mtcars_input_fn <- function(data, num_epochs = 1) {
input_fn(data,
features = c("disp", "cyl"),
response = "mpg",
batch_size = 32,
num_epochs = num_epochs)
}
特征欄
接下來,我們?yōu)槲覀兊哪P投x特征列。 特征列是原始輸入數(shù)據(jù)與數(shù)據(jù)的映射,我們將實際輸入到我們的培訓(xùn),評估和預(yù)測步驟中。 在這里,我們創(chuàng)建一個包含disp和cyl變量的特征列表:
cols <- feature_columns(
column_numeric("disp"),
column_numeric("cyl")
)
也可以這樣
cols <- feature_columns(
column_numeric("disp", "cyl")
)
建模
接下來,我們通過調(diào)用linear_regressor()函數(shù)并向其傳遞一組特征列來創(chuàng)建模型:
model <- linear_regressor(feature_columns = cols)
訓(xùn)練
我們現(xiàn)在準備好使用train()函數(shù)來訓(xùn)練我們的模型。 我們將mtcars數(shù)據(jù)集劃分為不同的訓(xùn)練和驗證數(shù)據(jù)集,并將訓(xùn)練數(shù)據(jù)集輸入train()。 我們將保留20%的數(shù)據(jù)用于驗證。'
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
進行預(yù)測
obs <- mtcars[1:3, ]
model %>% predict(mtcars_input_fn(obs))
儲存模型
saved_model_dir <- model_dir(model)
使用儲存的模型進行預(yù)測
library(tfestimators)
cols <- feature_columns(
column_numeric("disp", "cyl")
)
loaded_model <- linear_regressor(feature_columns = cols,
model_dir = saved_model_dir)
loaded_model