title: Simple way to convert tensor to numpy array without eager mode in TF 2.2
body: <p>I can't find a simple way to convert a tensor to a NumPy array without enabling eager mode, which gives a nice .numpy() method, but also slows down my model training. </p>
  
  <p>I'd be super grateful for your suggestions. For context, I'm writing a custom metric for my TensorFlow model that relies on a scikit learn function, which only takes numpy arrays.</p>
  
  <p>I've tried wrapping the tensors with np.array(), which throws a not implemented error. Also gave sessions and .eval() a go, but didn't get it to work either and seemed like too much for this simple job.</p>
  
  <p>My specific error:
  <em>NotImplementedError: Cannot convert a symbolic Tensor (model_17/dense_17/Sigmoid:0) to a numpy array.</em></p>
  
  <pre><code># Custom metric
  def accuracy_ml(y_true, y_pred):
    return accuracy_score(y_true, np.round(y_pred)) # ERROR here feeding tensor to sklearn function
  
  # Model
  cnn = simple_model(input_shape=(224, 224, 3),
                     num_classes=10,
                     base_model = base_ResNet101)
  
  lr = 1e-2
  loss_fn = tf.keras.losses.BinaryCrossentropy()
  metrics = [accuracy_ml]
  cnn.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=lr),
              loss=loss_fn,
              metrics=metrics)
  
  # Simple baseline eval that fails
  validation_steps=17
  loss0, accuracy0 = cnn.evaluate(validation_batches, steps = validation_steps)
  </code></pre>