tensorflow / tensorflow/models

object_detection: Allow to provide RunConfig parameters on command line of model_main

Open
#5,246 4 comments 4 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

models:research stat:awaiting maintainer type:feature
Dominant language
Python
Stars
77.7k
Forks
44.8k
PR merge metrics
No merged PRs in 30d

Description

System information
  • What is the top-level directory of the model you are using: object_detection
  • Have I written custom code (as opposed to using a stock example script provided in TensorFlow): no
  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04.5 LTS (Xenial Xerus)
  • TensorFlow installed from (source or binary): binary
  • TensorFlow version (use command below): ('v1.10.1-0-g4dcfddc5d1', '1.10.1')
  • Bazel version (if compiling from source): -
  • CUDA/cuDNN version: cuda-9.0
  • GPU model and memory: Tesla K80 major: 3 minor: 7 / 11.17GiB
  • Exact command to reproduce: - (This is a feature request)
Describe the problem

An Estimator run is configured with a RunConfig object, however when starting model_main parameters of RunConfig can not be defined to overwrite defaults. That is why I propose to add command line parameters to model_main that allow to define RunConfig parameters. I see two options here:

  1. Add specific command line parameters for specific RunConfig parameters, e.g. --save_checkpoints_steps, --save_checkpoints_secs, ...
  2. Add a generic command line parameter for RunConfig parameters similar to the already existing --hparams_overrides. E.g. --runconfig_overrides save_checkpoints_steps=100,keep_checkpoint_max=10

Option 2 should result in less maintenance when RunConfig is changed. OTOH it would only allow to overwrite primitive parameters, but no structured parameters like session_config. With Option 1 changes in RunConfig might need to be reflected in code. OTOH it would for example allow to define command line switches for session_config parameters.

I would personally vote for Option 2 and if there is interest I could also open a PR for this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.