QAT - Quantization Aware Training
양자화 하지 않고 학습후
| # Load MNIST dataset mnist = keras.datasets.mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data() # Normalize the input image so that each pixel value is between 0 to 1. train_images = train_images / 255.0 test_images = test_images / 255.0 # Define the model architecture. model = keras.Sequential([ keras.layers.InputLayer(input_shape=(28, 28)), keras.layers.Reshape(target_shape=(28, 28, 1)), keras.layers.Conv2D(filters=12, kernel_size=(3, 3), activation='relu'), keras.layers.MaxPooling2D(pool_size=(2, 2)), keras.layers.Flatten(), keras.layers.Dense(10) ]) # Train the digit classification model model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy']) model.fit( train_images, train_labels, epochs=1, validation_split=0.1, ) |
양자화 모델로 변환하고, 파인튜닝
| import tensorflow_model_optimization as tfmot quantize_model = tfmot.quantization.keras.quantize_model # q_aware stands for for quantization aware. q_aware_model = quantize_model(model) # `quantize_model` requires a recompile. q_aware_model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy']) q_aware_model.summary() train_images_subset = train_images[0:1000] # out of 60000 train_labels_subset = train_labels[0:1000] q_aware_model.fit(train_images_subset, train_labels_subset, batch_size=500, epochs=1, validation_split=0.1) |
[링크 : https://www.tensorflow.org/model_optimization/guide/quantization/training?hl=ko]
PTQ - Post Training Quantization
[링크 : https://www.tensorflow.org/model_optimization/guide/quantization/post_training?hl=ko]
pruning - 0에 가까운 애들 없애기 (가지치기)
quantization (양자화)
distillation (증류)
low rank factorization (NxM -> Xxk kxM)
[링크 : https://u-b-h.tistory.com/13]
'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글
| U-net, segmentation (0) | 2026.05.14 |
|---|---|
| keras - transfer learning / fine tuning (0) | 2025.09.17 |
| keras ssd mobilenet (0) | 2025.09.16 |
| mobilenet 학습시키기 with keras, tensorflow (0) | 2025.09.15 |
| ssd mobilenet (0) | 2025.09.11 |
