ELU int8 model quantized with Dequantize/Quantize stubs
Hi @NickLucche 

Thanks for reporting this issue.

@pkgoogle I was able to reproduce this issue. Please find the gist [here](https://colab.research.google.com/gist/pjpratik/0a3f11e436e1e7d73bccf3fc8c57afe9/60789.ipynb).

Could you please look into this if this is intended behaviour?

Thanks. Hi @NickLucche, thanks for reporting the issue. The documentation https://www.tensorflow.org/lite/performance/post_training_quantization#integer_only suggests it should throw an error than a forced conversion. We will work on this as a bug. thank you! Hi @miaout17, can you please take a look? Thanks.
**System information**
- Linux Ubuntu 20.04
- TensorFlow installed from: docker `tensorflow/tensorflow:latest-gpu`
- TensorFlow version (or github SHA if from source): 2.12.0


**Standalone code to reproduce the issue** 
Input model (Netron):
![image](https://github.com/tensorflow/tensorflow/assets/10706289/3bc57f63-09b4-4e4b-b907-2a5c795e2e29)

```python
import tensorflow as tf
import numpy as np

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation=None),
  #  tf.keras.layers.ReLU(),
  tf.keras.layers.ELU(),
  tf.keras.layers.Dense(10, activation='softmax')
])

# full-integer quantization, simulate dataset with random input
def representative_data_gen():
  for input_value in [np.random.randn(1, 28, 28).astype(np.float32) for _ in range(10)]:
    yield [input_value] 

converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_data_gen

converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.target_spec.supported_types = {tf.int8}

converter.inference_input_type = tf.int8 #tf.uint8
converter.inference_output_type = tf.int8 #tf.uint8

tflite_model_quant = converter.convert()
with open('basic_fullint_quant.tflite', 'wb') as f:
  f.write(tflite_model_quant)
```

Output Model (Netron):
![image](https://github.com/tensorflow/tensorflow/assets/10706289/e3f77101-d091-42ee-a909-84c940ea948d)


**Any other info / logs**

I understand that ELU isn't among the supported operators (?) although there's allegedly some code (?) from [this commit](https://github.com/tensorflow/tensorflow/commit/918f876bf812fd744151fea29b2df4aa18acfa8f). 
I wonder why no exception is raised during the process despite `supported_ops` being set to the most strict options, and why does it default to this mixed-precision output model (if I am not mistaken, the elu is still run in floating point).  

To be clear, the behavior I would expect is either an error or a full-int8 quantized model with no stubs layers wrapping ELU. 
Thanks for your help!