R/flags.R

flags

Flags for a training run

Description

Define the flags (name, type, default value, description) which paramaterize a training run. Optionally read overrides of the default values from a “flags.yml” config file and/or command line arguments.

Usage

 
flags( 
  ..., 
  config = Sys.getenv("R_CONFIG_ACTIVE", unset = "default"), 
  file = "flags.yml", 
  arguments = commandArgs(TRUE) 
) 
 
flag_numeric(name, default, description = NULL) 
 
flag_integer(name, default, description = NULL) 
 
flag_boolean(name, default, description = NULL) 
 
flag_string(name, default, description = NULL) 

Arguments

Arguments Description
One or more flag definitions
config The configuration to use. Defaults to the active configuration for the current environment (as specified by the R_CONFIG_ACTIVE environment variable), or default when unset.
file The flags YAML file to read
arguments The command line arguments (as a character vector) to be parsed.
name Flag name
default Flag default value
description Flag description

Section

Config File Flags

Config file flags are defined a YAML configuration file (by default named “flags.yml”). Flags can either appear at the top-level of the YAML or can be inclued in named configuration sections (see the config package for details).

Command Line Flags

Command line flags should be of the form --key=value or --key value. The values are assumed to be valid yaml and will be converted using yaml.load().

Value

Named list of training flags

Examples

library(tfruns) 
 
# define flags and parse flag values from flags.yml and the command line 
FLAGS <- flags( 
  flag_numeric('learning_rate', 0.01, 'Initial learning rate.'), 
  flag_integer('max_steps', 5000, 'Number of steps to run trainer.'), 
  flag_string('data_dir', 'MNIST-data', 'Directory for training data'), 
  flag_boolean('fake_data', FALSE, 'If true, use fake data for testing') 
)