Layer up_sampling2d: <class 'tensorflow.python.keras.layers.convolutional.UpSampling2D'> не поддерживается

Я пытаюсь реализовать UNet для семантической сегментации, который может работать на Google Coral edgetpu. Для этого нам нужна квантованная модель, которую можно получить с помощью API tensorflow_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 для сегментации - на основе Deeplabv3 квантованная сегментация edgetpu, нет никакой помощи относительно архитектуры и того, как было решено апскейлинг.

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

0 ответов

Другие вопросы по тегам