R/model-class.R

#' Compile
#'
#' Compile model.
#' 
#' @inheritParams basic-layers
#' @param optimizer Optimizer function.
#' @param loss A loss function.
#'
#' @examples
#' \dontrun{
#' library(shiny)
#' 
#' ui <- fluidPage(brainyOutput("brainy"))
#' 
#' server <- function(input, output){
#' 
#'   output$brainy <- renderBrainy({
#'     brainy() %>%
#'     layer_add(
#'       layer_dense(units = 1)
#'     ) %>%
#'     model_compile(
#'       optimizer = "meanSquaredError",
#'       loss = "sgd"
#'     )
#'   })
#'   
#' }
#' 
#' shinyApp(ui, server)
#' }
#' 
#' @export
model_compile <- function(brain, optimizer = NULL, loss = NULL, metrics = "accuracy"){
    opts <- list(
        metrics = as.list(metrics)
    )

    if(!is.null(optimizer)) opts$optimizer <- optimizer
    if(!is.null(loss)) opts$loss <- loss

    brain$x$compile <- opts
    return(brain)
}
brain-r/brain.widget documentation built on May 28, 2019, 5:42 p.m.