  
          encoder_complexity = self.config["complexity_encoder"]
  
          for idx in range(self.downscalers_no - 1):
              var_x = Conv2DBlock(encoder_complexity * 2**idx)(var_x)
              var_x = ResidualBlock(encoder_complexity * 2**idx, use_bias=True)(var_x)
              var_x = ResidualBlock(encoder_complexity * 2**idx, use_bias=True)(var_x)
  
          var_x = Conv2DBlock(encoder_complexity * 2**(idx + 1))(var_x)
  
          return KerasModel(input_, var_x, name="encoder")
  
 
</s> remove         var_x = Conv2DBlock(encoder_complexity * 2**(idx + 1))(var_x)
 </s> add         var_x = Conv2DBlock(encoder_complexity * 2**(idx + 1), activation="leakyrelu")(var_x) </s> remove         var_x = UpscaleBlock(decoder_b_complexity // 2**(idx + 1))(var_x)
 </s> add         var_x = UpscaleBlock(decoder_b_complexity // 2**(idx + 1), activation="leakyrelu")(var_x) </s> remove             var_x = UpscaleBlock(decoder_b_complexity // 2**idx)(var_x)
 </s> add             var_x = UpscaleBlock(decoder_b_complexity // 2**idx, activation=None)(var_x) </s> remove             var_x = UpscaleBlock(decoder_a_complexity // 2**idx)(var_x)
        var_x = UpscaleBlock(decoder_a_complexity // 2**(idx + 1))(var_x)
 </s> add             var_x = UpscaleBlock(decoder_a_complexity // 2**idx, activation="leakyrelu")(var_x)
        var_x = UpscaleBlock(decoder_a_complexity // 2**(idx + 1), activation="leakyrelu")(var_x) </s> remove         var_x = Conv2DBlock(encoder_complexity, use_instance_norm=True, **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 2, use_instance_norm=True, **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 4, **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 6, **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 8, **kwargs)(var_x)
 </s> add         var_x = Conv2DBlock(encoder_complexity,
                            normalization="instance",
                            activation="leakyrelu",
                            **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 2,
                            normalization="instance",
                            activation="leakyrelu",
                            **kwargs)(var_x)
        var_x = Conv2DBlock(encoder_complexity * 4, **kwargs, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(encoder_complexity * 6, **kwargs, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(encoder_complexity * 8, **kwargs, activation="leakyrelu")(var_x)
            var_x = Conv2DBlock(encoder_complexity * 2**idx, activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
  
          encoder_complexity = self.config["complexity_encoder"]
  
          for idx in range(self.downscalers_no - 1):
            var_x = Conv2DBlock(encoder_complexity * 2**idx, activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = Conv2DBlock(encoder_complexity * 2**idx, activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = Conv2DBlock(encoder_complexity * 2**idx, activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
            var_x = ResidualBlock(encoder_complexity * 2**idx,
                                  use_bias=True,
                                  activation="leakyrelu")(var_x)
  
          var_x = Conv2DBlock(encoder_complexity * 2**(idx + 1))(var_x)
  
          return KerasModel(input_, var_x, name="encoder")
  
keep keep keep keep replace replace replace keep keep keep keep keep
 lib.model - Maintenance
  - Add Depthwise option to Conv Block
  - Add Swish Activation function
  - remove res_block_follows and add_instance_norm_args
  - Add explicit normalization and activation args
  - Add K.resize_images layer
plugins.train.model - Inference creation bugfix 
plugins/train/model/realface.py