ValueError: `to_annotate` can only be a `keras.layers.Layer` instance. You passed an instance of type: Dense.
import tensorflow as tf from tensorflow.keras import layers, models import tensorflow_model_optimization as tfmot
input_shape = (20,) annotated_model = tf.keras.Sequential([ tfmot.quantization.keras.quantize_annotate_layer(tf.keras.layers.Dense(20, input_shape=input_shape)), tf.keras.layers.Flatten() ])
quant_aware_model = tfmot.quantization.keras.quantize_apply(annotated_model) quant_aware_model.summary()
when I run the above code, it appears error like: "ValueError: to_annotate can only be a keras.layers.Layer instance. You passed an instance of type: Dense."
Does anyone know the way to handle it? Thanks a lot.
it looks like you are using one of the latest versions of tensorflow/keras 3+, based on the error. Try installing tf-keras. Then:
import tf_keras as keras
import os
os.environ["TF_USE_LEGACY_KERAS"]="1"
import tensorflow_model_optimization as tfmot
input_shape = (20,)
annotated_model = keras.Sequential([
tfmot.quantization.keras.quantize_annotate_layer(keras.layers.Dense(20, input_shape=input_shape)),
keras.layers.Flatten()
])
quant_aware_model = tfmot.quantization.keras.quantize_apply(annotated_model)
quant_aware_model.summary()