当我使用QAT (量化感知训练)训练Keras模型时,
有一些不兼容的问题,如不支持BatchNormalization或UpSampling2D等。
如何在不使用每一层tfmot.quantization.keras.quantize_annotate_layer的情况下直接预防它?(尤其是使用tensorflow keras函数API (而不是tf.keras.Sequential)构建模型时)
发布于 2020-09-30 00:05:12
QAT模块支持的图层可在here中找到
然后,要量化一些层而不是整个模型,只需遵循官方tutorial,然后添加您想要用来量化的层。
#added layers here
supported_layers = [tf.keras.layers.Conv2D, tf.keras.layers.Dense, tf.keras.layers.ReLU]
def apply_quantization_to_dense(layer):
for supported_layer in supported_layers:
if isinstance(layer, tf.keras.layers.Dense):
return tfmot.quantization.keras.quantize_annotate_layer(layer)
return layerhttps://stackoverflow.com/questions/64123260
复制相似问题