title: MonitoredTrainingSession with SyncReplicasOptimizer Hook cannot init with placeholder
body: <ol>
  <li><p>I construct my network with tf.keras.Input as Input layer.</p>
  <blockquote>
  <p>input_image = tf.keras.Input(shape=(None, None, 3), name='input_image')</p>
  </blockquote>
  </li>
  <li><p>follow network definition, I define my optimizer like this:
  <a href="https://i.stack.imgur.com/wv50S.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wv50S.png" alt="enter image description here" /></a></p>
  </li>
  <li><p>then, I pass the hook to MonitoredTrainingSession
  <a href="https://i.stack.imgur.com/lV5iO.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lV5iO.png" alt="enter image description here" /></a></p>
  </li>
  <li><p>finally, when runing to create MonitoredTrainingSession, a placeholder bug raising:</p>
  <blockquote>
  <p>tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'input_image' with dtype float and shape [?,?,?,3]
  this exception is raised from <code>ready_value = sess.run(op)</code> in <code>session_manager.py</code> called by <code>hook.after_create_session(self.tf_sess, self.coord)</code></p>
  </blockquote>
  </li>
  </ol>
  <p>Any idea about SyncReplicasOptimizer with placeholder is appreciating.</p>