title: DuplicateFlagError when trying to train tensorflow object detection api on google collaboratory
body: <p>I am trying to train Tensorflow Object Detection API on my dataset containing apples and capsicum. For that, I generated the required files (TFrecords and images with annotations) and placed them in models/research/object_detection directory.
  Then, I forked the Object detection api from github and pushed my files to my forked repo.
  Then, I clone this repo inside Google Collaboratory and run the train.py file but I get the DuplicateFlagError:master error. </p>
  
  <pre><code>---------------------------------------------------------------------------
  
  DuplicateFlagError               Traceback (most recent call last)
  /content/models/research/object_detection/train.py in &lt;module&gt;()
       56 
       57 flags = tf.app.flags
  ---&gt; 58 flags.DEFINE_string('master', '', 'Name of the TensorFlow master to use.')
       59 flags.DEFINE_integer('task', 0, 'task id')
       60 flags.DEFINE_integer('num_clones', 1, 'Number of clones to deploy per worker.')
  
  /usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/flags.py in wrapper(*args, **kwargs)
       56           'Use of the keyword argument names (flag_name, default_value, '
       57           'docstring) is deprecated, please use (name, default, help) instead.')
  ---&gt; 58     return original_function(*args, **kwargs)
       59 
       60   return tf_decorator.make_decorator(original_function, wrapper)
  
  /usr/local/lib/python3.6/dist-packages/absl/flags/_defines.py in DEFINE_string(name, default, help, flag_values, **args)
      239   parser = _argument_parser.ArgumentParser()
      240   serializer = _argument_parser.ArgumentSerializer()
  --&gt; 241   DEFINE(parser, name, default, help, flag_values, serializer, **args)
      242 
      243 
  
  /usr/local/lib/python3.6/dist-packages/absl/flags/_defines.py in DEFINE(parser, name, default, help, flag_values, serializer, module_name, **args)
       80   """
       81   DEFINE_flag(_flag.Flag(parser, serializer, name, default, help, **args),
  ---&gt; 82               flag_values, module_name)
       83 
       84 
  
  /usr/local/lib/python3.6/dist-packages/absl/flags/_defines.py in DEFINE_flag(flag, flag_values, module_name)
      102   # Copying the reference to flag_values prevents pychecker warnings.
      103   fv = flag_values
  --&gt; 104   fv[flag.name] = flag
      105   # Tell flag_values who's defining the flag.
      106   if module_name:
  
  /usr/local/lib/python3.6/dist-packages/absl/flags/_flagvalues.py in __setitem__(self, name, flag)
      425         # module is simply being imported a subsequent time.
      426         return
  --&gt; 427       raise _exceptions.DuplicateFlagError.from_flag(name, self)
      428     short_name = flag.short_name
      429     # If a new flag overrides an old one, we need to cleanup the old flag's
  
  DuplicateFlagError: The flag 'master' is defined twice. First from object_detection/train.py, Second from object_detection/train.py.  Description from first occurrence: Name of the TensorFlow master to use.
  </code></pre>
  
  <p>To solve it, I tried to comment that line, but then I got DuplicateFlagError on next flag i.e on next line. So, to try to solve the issue, I commented all the lines in train.py that declared those flags i.e I commented from line 58 to line 82. But then, I got the error NotFoundError: ;</p>
  
  <pre><code>---------------------------------------------------------------------------
  NotFoundError                             Traceback (most recent call last)
  /content/models/research/object_detection/train.py in &lt;module&gt;()
      165 
      166 if __name__ == '__main__':
  --&gt; 167   tf.app.run()
  
  /usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py in run(main, argv)
      124   # Call the main function, passing through any arguments
      125   # to the final program.
  --&gt; 126   _sys.exit(main(argv))
      127 
      128 
  
  /content/models/research/object_detection/train.py in main(_)
      105                            ('input.config', FLAGS.input_config_path)]:
      106         tf.gfile.Copy(config, os.path.join(FLAGS.train_dir, name),
  --&gt; 107                       overwrite=True)
      108 
      109   model_config = configs['model']
  
  /usr/local/lib/python3.6/dist-packages/tensorflow/python/lib/io/file_io.py in copy(oldpath, newpath, overwrite)
      390   with errors.raise_exception_on_not_ok_status() as status:
      391     pywrap_tensorflow.CopyFile(
  --&gt; 392         compat.as_bytes(oldpath), compat.as_bytes(newpath), overwrite, status)
      393 
      394 
  
  /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/errors_impl.py in __exit__(self, type_arg, value_arg, traceback_arg)
      514             None, None,
      515             compat.as_text(c_api.TF_Message(self.status.status)),
  --&gt; 516             c_api.TF_GetCode(self.status.status))
      517     # Delete the underlying status object from memory otherwise it stays alive
      518     # as there is a reference to status from this from the traceback due to
  
  NotFoundError: ; No such file or directory
  </code></pre>
  
  <p>How should I solve it?
  This is my Collab notebook - <a href="https://drive.google.com/file/d/1mZGOKX3JZXyG4XYkI6WHIXoNbRSpkE_F/view?usp=sharing" rel="noreferrer">https://drive.google.com/file/d/1mZGOKX3JZXyG4XYkI6WHIXoNbRSpkE_F/view?usp=sharing</a></p>