【问题标题】:Layer is not supported (When train Keras model trained with QAT)不支持层(当训练使用 QAT 训练的 Keras 模型时)
【发布时间】:2021-01-15 06:43:54
【问题描述】:

当我使用 QAT(量化感知训练)训练 Keras 模型时,

存在一些不兼容的问题,例如不支持 BatchNormalization 或 UpSampling2D 等。

如何在不使用 tfmot.quantization.keras.quantize_annotate_layer 在每一层上应用每一层的情况下直接防止它? (尤其是使用 tensorflow keras 功能 API(而不是 tf.keras.Sequential)构建模型时)

【问题讨论】:

    标签: tensorflow keras tensorflow2.0


    【解决方案1】:

    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 layer
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 2022-01-25
      • 2018-01-30
      • 1970-01-01
      相关资源
      最近更新 更多