丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給汪思穎
發(fā)送

0

Keras R語言接口正式發(fā)布,同時公開20個完整示例

本文作者: 汪思穎 2017-09-06 17:40
導語:Keras R語言接口正式發(fā)布,可以直接在CRAN中進行下載安裝。

雷鋒網(wǎng) AI科技評論消息,Keras R語言接口正式發(fā)布,并同時公開20個完整示例。

關(guān)于keras的介紹

Keras是一個高層神經(jīng)網(wǎng)絡(luò)API,為支持快速實驗而生,目前主要功能如下:

  • 支持相同的代碼無縫跑在CPU或GPU上

  • 對用戶友好,易于快速prototype深度學習模型

  • 支持計算機視覺中的卷積網(wǎng)絡(luò)、序列處理中的循環(huán)網(wǎng)絡(luò),也支持兩種網(wǎng)絡(luò)的任意組合

  • 支持任意網(wǎng)絡(luò)架構(gòu):多段輸入或多段輸出模型、層共享、模型共享等。這意味著Keras 本質(zhì)上適合用于構(gòu)建任意深度學習模型(從記憶網(wǎng)絡(luò)到神經(jīng)圖靈機)

  • 兼容多種運行后端,例如TensorFlow、CNTK和 Theano

如果你已經(jīng)很熟悉Keras了,并且想要立刻體驗最新發(fā)布的R語言接口,請點擊如下網(wǎng)址:https://keras.rstudio.com,這里有超過20個完整示例,相信有你需要的東西。

接下來是更多關(guān)于Keras的信息,以及發(fā)布Keras的R語言接口的意義。

Keras和深度學習

在過去的幾年間,人們對深度學習的興趣增長迅速,同時期出現(xiàn)了幾個深度學習的框架。在所有的框架中,Keras因為在生產(chǎn)力、靈活性以及對用戶友好性方面的優(yōu)勢脫穎而出。同時期,tensorflow作為下一代機器學習平臺,非常靈活,很適合產(chǎn)品部署。

毫不驚訝地說,Keras和tensorflow正在逐漸超過其他深度學習框架。

Keras R語言接口正式發(fā)布,同時公開20個完整示例

現(xiàn)在,你不需要糾結(jié)該選tensorflow或是Keras了。Keras的默認后端支持通過tensorflow工作流,實現(xiàn)tensorflow和Keras的無縫集成。今年晚些時候,可以通過更深的集成,讓Keras完全實現(xiàn)與tensorflow的無縫銜接。

Keras和tensorflow目前都是最頂尖的深度學習框架,有了新發(fā)布的Keras包,利用R接口現(xiàn)在可以同時接入兩個框架。

使用說明

安裝

首先,從CRAN的Keras R包中按照如下步驟安裝:

install.packages("keras")

Keras R接口默認使用 TensorFlow后端引擎。使用如下install_keras()函數(shù)安裝核心Keras庫和 TensorFlow后端:

library(keras)

install_keras()()

這個函數(shù)默認基于CPU安裝Keras和TensorFlow。如果你想要自定義安裝,比如說想要利用英偉達GPU,可以查看install_keras()函數(shù)的詳細文檔。

MNIST樣例

可以通過實現(xiàn)一個簡單的例子來學習Keras的基本知識:識別來自MNIST數(shù)據(jù)集的手寫數(shù)字。MNIST由手寫數(shù)字的28x 28灰度圖像組成,如下圖所示:

Keras R語言接口正式發(fā)布,同時公開20個完整示例

數(shù)據(jù)集中包含每個圖像的標簽,來告訴我們這是哪個數(shù)字。例如,上面圖像中的標簽分別是5,0,4,1。

準備數(shù)據(jù)

MNIST數(shù)據(jù)集包含在Keras中,可以通過使用dataset_mnist() 函數(shù)得到。這個例子中我們先下載數(shù)據(jù)集,然后為測試和訓練數(shù)據(jù)創(chuàng)造出變量。

library(keras)
mnist <- dataset_mnist()
x_train <- mnist$train$x
y_train <- mnist$train$y
x_test <- mnist$test$x
y_test <- mnist$test$y

x數(shù)據(jù)是灰度值的3-d數(shù)組(圖像、寬度、高度)。為了準備訓練數(shù)據(jù),通過將寬度和高度轉(zhuǎn)換為一維(28x28的圖像被簡化成長為784的向量),從而把三維數(shù)組轉(zhuǎn)換為矩陣。然后,我們將值為0到255的整數(shù)之間的灰度值轉(zhuǎn)換成0到1之間的浮點值。

# reshape

dim(x_train) <- c(nrow(x_train), 784)

dim(x_test) <- c(nrow(x_test), 784)

# rescale

x_train <- x_train / 255

x_test <- x_test / 255

y數(shù)據(jù)是一個整型向量,其值從0到9。為了準備訓練數(shù)據(jù),我們利用 Keras  to_categorical()函數(shù),用one-hot編碼方法將向量轉(zhuǎn)化為二進制類矩陣(binary class matrices ):

y_train <- to_categorical(y_train, 10)
y_test <- to_categorical(y_test, 10)

定義模型

我們首先創(chuàng)建一個序貫模型(sequential model),然后使用pipe(%-%)運算符添加層。

model <- keras_model_sequential()
model %>%  

  layer_dense(units = 256, activation = 'relu', input_shape = c(784)) %>%

  layer_dropout(rate = 0.4) %>%   

  layer_dense(units = 128, activation = 'relu') %>%  

  layer_dropout(rate = 0.3) %>%  

  layer_dense(units = 10, activation = 'softmax')

使用summary()函數(shù)打印出模型的細節(jié):

Keras R語言接口正式發(fā)布,同時公開20個完整示例

接下來,用適當?shù)膿p失函數(shù)、優(yōu)化器和指標來編譯模型:

model %>% compile(  

  loss = 'categorical_crossentropy',  

  optimizer = optimizer_rmsprop(),  

  metrics = c('accuracy')
)

訓練和評估

使用fit() 函數(shù)來訓練模型,epochs為30,batch_size為128:

history <- model %>% fit(
  x_train, y_train,
  epochs = 30, batch_size = 128,
  validation_split = 0.2

)

可以通過plot(history)繪制出每一步epoch下loss和acc的值:

Keras R語言接口正式發(fā)布,同時公開20個完整示例

通過測試數(shù)據(jù)評估模型表現(xiàn):

model %>% evaluate(x_test, y_test)

$loss
[1] 0.1149

$acc
[1] 0.9807

通過新的數(shù)據(jù)生成預測值:

model %>% predict_classes(x_test)

Keras R語言接口正式發(fā)布,同時公開20個完整示例

更多詳細信息,可以點擊:https://keras.rstudio.com/

keras包下載地址:https://cran.r-project.org/package=keras

雷鋒網(wǎng) AI科技評論編譯。雷鋒網(wǎng)原創(chuàng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

Keras R語言接口正式發(fā)布,同時公開20個完整示例

分享:
相關(guān)文章

編輯

關(guān)注AI學術(shù),例如論文
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說