title: Difference between two TensorFlow methods for mixed precision
body: <p>I'm adding Automatic Mixed Precision to a TensorFlow 2 model. What's the interaction between </p>
  
  <p><code>tf.keras.mixed_precision.experimental.set_policy('mixed_float16')</code> and <code>tf.config.optimizer.set_experimental_options({"auto_mixed_precision": True})</code> ?</p>
  
  <p>The former is documented at the <a href="https://www.tensorflow.org/guide/keras/mixed_precision" rel="nofollow noreferrer">Keras mixed precision guide</a>, and the latter doesn't seem to be mentioned anywhere except the <a href="https://www.tensorflow.org/api_docs/python/tf/config/optimizer/set_experimental_options" rel="nofollow noreferrer">API docs</a>. Using the experimental options call seems to work, while setting the policy gives me datatype mismatches in my model.</p>
  
  <p>I'm using <code>GradientTape</code>, so the simplistic solutions relating to <code>model.fit()</code> don't apply to me. Any insight on the similarities, differences, and interactions between these two functions?</p>