Trains the DeepVariant model.
flags:

/tmp/Bazel.runfiles_abjpk9fi/runfiles/com_google_deepvariant/deepvariant/model_train.py:
  --batch_size: The number of samples in each batch.
    (default: '4096')
    (an integer)
  --dataset_config_pbtxt: The path to the dataset config file.
  --gcp_project: Project name for the Cloud TPU-enabled project. If not
    specified, we will attempt to automatically detect the GCE project from
    metadata.
  --kmp_blocktime: Value to set the KMP_BLOCKTIME environment variable to for
    efficient MKL training. See
    https://www.tensorflow.org/performance/performance_guide for more
    information. The default value is 0, which provides the best performance in
    our tests. Set this flag to "" to not set the variable.
    (default: '0')
  --master: GRPC URL of the master (e.g. grpc://ip.address.of.tpu:8470). You
    must specify either this flag or --tpu_name.
  --max_checkpoints_to_keep: Number of last checkpoints to keep during training.
    Passing "0" preserves all checkpoints.
    (default: '10')
    (an integer)
  --max_examples: The maximum number of examples to use in training. If None,
    all examples will be used. If not None, the first max_examples examples from
    the dataset will be used, with those same examples repeating over and over.
    (an integer)
  --model_name: The name of the model to use for predictions.
    (default: 'inception_v3')
  --num_retries: The number of times to retry on InternalError or
    UnavailableError.
    (default: '0')
    (an integer)
  --number_of_steps: Maximum number of global steps to take when training.
    (default: '8000000')
    (an integer)
  --ps_tasks: The number of parameter servers. If the value is 0, then the
    parameters are handled locally by the worker.
    (default: '0')
    (an integer)
  --random_seed: Random seed value to use for TensorFlow. Providing a value != 0
    will result in a call to tf.set_random_seed(FLAGS.random_seed), making
    training more deterministic. If set to 0, the TensorFlow random seed will
    not be set at all, and TensorFlow will assign it a pseudo-random value each
    time model_train is run.
    (default: '400620758')
    (an integer)
  --start_from_checkpoint: A path to a checkpoint of model weights to initialize
    our model at the start of training. If None or "", the model will start from
    random weights. The special value "model_default" will use the default
    pretrained path for the selected model.
    (default: 'model_default')
  --task: Task id of the replica running the training.
    (default: '0')
    (an integer)
  --tpu_name: Name of the Cloud TPU for Cluster Resolvers. You must specify
    either this flag or --master.
  --tpu_zone: GCE zone where the Cloud TPU is located in. If not specified, we
    will attempt to automatically detect the GCE project from metadata.
  --train_dir: Directory where to write event logs.
    (default: '/tmp/deepvariant/')
  --[no]use_tpu: use tpu if available
    (default: 'false')
  --worker_replicas: Number of worker replicas.
    (default: '1')
    (an integer)

absl.app:
  -?,--[no]help: show this help
    (default: 'false')
  --[no]helpfull: show full help
    (default: 'false')
  --[no]helpshort: show this help
    (default: 'false')
  --[no]helpxml: like --helpfull, but generates XML output
    (default: 'false')
  --[no]only_check_args: Set to true to validate args and exit.
    (default: 'false')
  --[no]pdb: Alias for --pdb_post_mortem.
    (default: 'false')
  --[no]pdb_post_mortem: Set to true to handle uncaught exceptions with PDB post
    mortem.
    (default: 'false')
  --profile_file: Dump profile information to a file (for python -m pstats).
    Implies --run_with_profiling.
  --[no]run_with_pdb: Set to true for PDB debug mode
    (default: 'false')
  --[no]run_with_profiling: Set to true for profiling the script. Execution will
    be slower, and the output format might change over time.
    (default: 'false')
  --[no]use_cprofile_for_profiling: Use cProfile instead of the profile module
    for profiling. This has no effect unless --run_with_profiling is set.
    (default: 'true')

absl.logging:
  --[no]alsologtostderr: also log to stderr?
    (default: 'false')
  --log_dir: directory to write logfiles into
    (default: '')
  --logger_levels: Specify log level of loggers. The format is a CSV list of
    `name:level`. Where `name` is the logger name used with
    `logging.getLogger()`, and `level` is a level name  (INFO, DEBUG, etc). e.g.
    `myapp.foo:INFO,other.logger:DEBUG`
    (default: '')
  --[no]logtostderr: Should only log to stderr?
    (default: 'false')
  --[no]showprefixforinfo: If False, do not prepend prefix to info messages when
    it's logged to stderr, --verbosity is set to INFO level, and python logging
    is used.
    (default: 'true')
  --stderrthreshold: log messages at this level, or more severe, to stderr in
    addition to the logfile.  Possible values are 'debug', 'info', 'warning',
    'error', and 'fatal'.  Obsoletes --alsologtostderr. Using --alsologtostderr
    cancels the effect of this flag. Please also note that this flag is subject
    to --verbosity and requires logfile not be stderr.
    (default: 'fatal')
  -v,--verbosity: Logging verbosity level. Messages logged at this level or
    lower will be included. Set to 1 for debug logging. If the flag was not set
    or supplied, the value will be changed from the default of -1 (warning) to 0
    (info) after flags are parsed.
    (default: '-1')
    (an integer)

absl.testing.absltest:
  --test_random_seed: Random seed for testing. Some test frameworks may change
    the default value of this flag between runs, so it is not appropriate for
    seeding probabilistic tests.
    (default: '301')
    (an integer)
  --test_randomize_ordering_seed: If positive, use this as a seed to randomize
    the execution order for test cases. If "random", pick a random seed to use.
    If 0 or not set, do not randomize test case execution order. This flag also
    overrides the TEST_RANDOMIZE_ORDERING_SEED environment variable.
    (default: '')
  --test_srcdir: Root of directory tree where source files live
    (default: '')
  --test_tmpdir: Directory for temporary testing files
    (default: '/tmp/absl_testing')
  --xml_output_file: File to store XML test results
    (default: '')

deepvariant.logging_level:
  --logging_level: select general logging threshold.
    (default: 'INFO')

deepvariant.modeling:
  --[no]allow_warmstart_from_different_num_channels: If True, always allow
    warmstarting from model checkpoints that has different number of channels.
    (default: 'false')
  --label_smoothing: Amount of label smoothing to use. By default this is
    0.0001% meaning that we expect a label error at a rate of 1 / 1,000,000
    (default: '1e-06')
    (a number)
  --learning_rate: Initial learning rate.
    (default: '0.064')
    (a number)
  --learning_rate_decay_factor: Learning rate decay factor.
    (default: '0.94')
    (a number)
  --moving_average_decay: The decay to use for the moving average.
    (default: '0.9999')
    (a number)
  --num_epochs_per_decay: Number of epochs after which learning rate decays.
    (default: '2.0')
    (a number)
  --rmsprop_decay: Decay term for RMSProp.
    (default: '0.9')
    (a number)
  --rmsprop_epsilon: Epsilon term for RMSProp.
    (default: '1.0')
    (a number)
  --rmsprop_momentum: Momentum.
    (default: '0.9')
    (a number)
  --save_interval_secs: Interval (in seconds) at which the model data should be
    checkpointed. Set to 0 to disable, -1 to ignore. Exclusive with
    save_interval_steps.
    (default: '600')
    (an integer)
  --save_interval_steps: Interval (in steps) at which the model data should be
    checkpointed. Set to 0 to disable, -1 to ignore. Exclusive with
    save_interval_secs.
    (default: '-1')
    (an integer)
  --save_summary_steps: Number of steps which must have run before showing
    summaries.
    (default: '100')
    (an integer)
  --seq_type_embedding_size: Set the embedding size for the sequencing type
    embeddings. Default is 200. This flag is only useful when model_name is
    `inception_v3_embedding`.
    (default: '200')
    (an integer)

tensorflow.python.ops.parallel_for.pfor:
  --[no]op_conversion_fallback_to_while_loop: DEPRECATED: Flag is ignored.
    (default: 'true')

tensorflow.python.tpu.client.client:
  --[no]hbm_oom_exit: Exit the script when the TPU HBM is OOM.
    (default: 'true')
  --[no]runtime_oom_exit: Exit the script when the TPU runtime is OOM.
    (default: 'true')

absl.flags:
  --flagfile: Insert flag definitions from the given file into the command line.
    (default: '')
  --undefok: comma-separated list of flag names that it is okay to specify on
    the command line even if the program does not define a flag with that name.
    IMPORTANT: flags in this list that have arguments MUST use the --flag=value
    format.
    (default: '')
