Complete the code to apply post-training quantization using TensorFlow Lite.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [[1]]
tflite_model = converter.convert()The correct optimization flag for post-training quantization in TensorFlow Lite is tf.lite.Optimize.DEFAULT. This enables default optimizations including quantization.
Complete the code to prune a Keras model with 50% sparsity.
import tensorflow_model_optimization as tfmot prune_low_magnitude = tfmot.sparsity.keras.prune_low_magnitude pruning_params = {'pruning_schedule': tfmot.sparsity.keras.PolynomialDecay(initial_sparsity=0.0, final_sparsity=[1], begin_step=0, end_step=1000)} model = prune_low_magnitude(original_model, **pruning_params)
Sparsity is expressed as a fraction between 0 and 1. For 50% sparsity, use 0.5.
Fix the error in the pruning callback setup to correctly update pruning steps during training.
callbacks = [tfmot.sparsity.keras.UpdatePruningStep(), [1]] model.fit(train_data, epochs=10, callbacks=callbacks)
The correct callback to add alongside UpdatePruningStep() is PruningSummaries to log pruning summaries during training.
Fill both blanks to create a TensorFlow Lite converter that applies quantization and sets the supported ops.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) converter.optimizations = [[1]] converter.target_spec.supported_ops = [[2]] tflite_model = converter.convert()
Use tf.lite.Optimize.DEFAULT to enable quantization and tf.lite.OpsSet.TFLITE_BUILTINS_INT8 to specify integer-only ops for full quantization support.
Fill all three blanks to create a pruning schedule with 20% initial sparsity, 80% final sparsity, and pruning ending at step 2000.
pruning_params = {
'pruning_schedule': tfmot.sparsity.keras.PolynomialDecay(initial_sparsity=[1], final_sparsity=[2], begin_step=0, end_step=[3])
}The initial sparsity is 20% (0.2), final sparsity is 80% (0.8), and pruning ends at step 2000.