데이터분석/Code & Tools & Script Snippet

[R] Using Keras on R

늘근이 2017. 11. 15. 07:14

텐서플로우가 뒷단에서 돌아가는 Keras는 사용하기가 미친듯이 편리하게 되어있다.

출처 : https://tensorflow.rstudio.com/keras/


library(keras)

install_keras()


mnist <- dataset_mnist()


x_train <- mnist$train$x

y_train <- mnist$train$y

x_test <- mnist$test$x

y_test <- mnist$test$y

summary(x_train)

head(x_train)

dim(x_train)


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

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


x_train  <- x_train /  255

x_test <- x_test / 255


y_train <- to_categorical(y_train, 10)

y_test <- to_categorical(y_test, 10)


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(model)


model %>% compile(

  loss = 'categorical_crossentropy',

  optimizer = optimizer_rmsprop(),

  metrics = c('accuracy')

)


history <- model %>% fit(

  x_train, y_train, 

  epochs = 30, batch_size = 128, 

  validation_split = 0.2

)