Я тренирую GAN и сталкиваюсь с проблемой совместимости (по-моему) при использовании нормализации экземпляра из библиотеки keras-contrib. Пожалуйста, помогите мне с соответствующим решением этой проблемы. Спасибо! фрагмент вывода
import tensorflow as tf
import tensorflow.keras.backend as K
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Layer, InputSpec, DepthwiseConv2D
from tensorflow.keras.layers import Conv2D, BatchNormalization, Add
from tensorflow.keras.layers import ReLU, LeakyReLU, ZeroPadding2D
from keras_contrib.layers import InstanceNormalization
def get_norm(norm_type):
if norm_type == "instance":
return InstanceNormalization()
elif norm_type == 'batch':
return BatchNormalization()
else:
raise ValueError(f"Unrecognized norm_type {norm_type}")
class FlatConv(Model):
def __init__(self,
filters,
kernel_size,
norm_type="instance",
pad_type="constant",
**kwargs):
super(FlatConv, self).__init__(name="FlatConv")
padding = (kernel_size - 1) // 2
padding = (padding, padding)
self.model = tf.keras.models.Sequential()
self.model.add(get_padding(pad_type, padding))
self.model.add(Conv2D(filters, kernel_size))
self.model.add(get_norm(norm_type))
self.model.add(ReLU())
def build(self, input_shape):
super(FlatConv, self).build(input_shape)
def call(self, x, training=False):
return self.model(x, training=training)