после проверки тензорной доски я заметил странное графическое соединение.
То, чего я не ожидал, это левый узел "gen_ATOB_0": Iожидается, что он будет «ниже» gen_ATOB_1, разделенный слоем batch_normalization.
Это код: я делаю что-то не так, и сеть действительно не подключена, как я думаю, или я неправильно интерпретирую график?
спасибо
def generator(input_shape, name):
# ENCODER
model_input = Input(shape=input_shape, name=name+"_input")
x = Conv2D(ngf, kernel_size=7,
strides=1,
# activation='relu',
padding='same',
kernel_initializer=RandomNormal(0, 0.02),
bias_initializer='zeros',
input_shape=INPUT_SHAPE,
name=name+"_0" )(model_input)
x = BatchNormalization(axis=3,epsilon=1e-5, momentum=0.9, gamma_initializer=RandomNormal(1., 0.02))(x)
x = Conv2D(64*2, kernel_size=3,
strides=2,
padding='same',
kernel_initializer=RandomNormal(0, 0.02),
bias_initializer='zeros',
name=name+"_1" )(x)
x = BatchNormalization(axis=3,epsilon=1e-5, momentum=0.9, gamma_initializer=RandomNormal(1., 0.02))(x)
x = Conv2D(64*4, kernel_size=3,
strides=2,
padding="same",
kernel_initializer=RandomNormal(0, 0.02),
bias_initializer='zeros',
name=name+"_2",
)(x)
x = BatchNormalization(axis=3,epsilon=1e-5, momentum=0.9, gamma_initializer=RandomNormal(1., 0.02))(x)
# # END ENCODER
# # TRANSFORM
x = resnet_block(x, 64 * 4)
x = resnet_block(x, 64 * 4)
x = resnet_block(x, 64 * 4)
x = resnet_block(x, 64 * 4)
x = resnet_block(x, 64 * 4)
x = resnet_block(x, 64 * 4)
# # END TRANSFORM
# # generator.shape = (64, 64, 256)
# # TRANSFORM
with K.name_scope("gen_"+name+"_decode"):
# # DECODER
x = Conv2DTranspose(ngf*2,kernel_size=3, strides=2, padding="same")(x)
x = Conv2DTranspose(ngf,kernel_size=3, strides=2, padding="same")(x)
x = Conv2D(3, kernel_size=7, strides=1, padding="same", name=name+"_out_layer")(x)
x = Activation('relu')(x)
composed = Model(model_input, x, name=name)
# composed.summary()
return composed, model_input, x