Tensorflow Graph с неправильным соединением на тензорной доске - PullRequest
0 голосов
/ 01 февраля 2019

после проверки тензорной доски я заметил странное графическое соединение.

enter image description here

То, чего я не ожидал, это левый узел "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
...