Слой up_sampling2d: не поддерживается - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь реализовать UNet для Semanti c Сегментация, которая может работать на Google Coral Edgetpu. Для этого нам нужно иметь квантованную модель, которую можно получить с помощью API tenorflow_model_optimization.

Но при использовании API существует слой для UpSampling2D, который не поддерживается квантованием Осведомленное API . Вот код для получения квантованной модели из нормальной в соответствии с рекомендациями.

from image_segmentation_keras.keras_segmentation.models.unet import vgg_unet 
import tensorflow_model_optimization as tfmot 
model = vgg_unet(n_classes=4 ,  input_height=832, input_width=1216  ) 
quantize_model = tfmot.quantization.keras.quantize_model #q_aware stands for for quantization aware. 
q_aware_model = quantize_model(model)

...
o = (Conv2D(512, (3, 3), padding='valid' , data_format=IMAGE_ORDERING))(o)
o = (BatchNormalization())(o)
o = Activation('relu')(o)

o = (UpSampling2D((2, 2), data_format=IMAGE_ORDERING))(o)
o = (concatenate([o, f3], axis=MERGE_AXIS))
o = (ZeroPadding2D((1, 1), data_format=IMAGE_ORDERING))(o)
...

Layer up_sampling2d:<class 'tensorflow.python.keras.layers.convolutional.UpSampling2D'> is not supported.You can quantize this layer by passing a `tfmot.quantization.keras.QuantizeConfig` instance to the `quantize_annotate_layer` API.

Ниже приведены результаты -

  • Я попытался использовать альтернативу up_sampling2d Conv2DTranspose вместо повышения дискретизации но похоже, что Conv2DTranspose также не поддерживается.
  • Layer conv2Dtranspose:<class 'tensorflow.python.keras.layers.convolutional.Conv2DTranspose'> is not supported.

  • Большинство официальных примеров квантованных моделей Edge TPU не требуется масштабирование изображения. Например, выходные данные моделей классификации и обнаружения - это либо класс, либо число ограничивающих рамок с соответствующими классами.

  • Хотя для сегментации существует примерная модель квантования edgetpu- Квантованная сегментация Edgetpu на основе Deeplabv3 , нет никакой помощи относительно архитектуры и того, как было решено масштабирование.

Любая помощь в этом отношении будет принята с благодарностью.

...