Пример #1
0
def multi_input_model_generator():
    util.set_tf_random_seed()
    input0 = keras.Input(shape=(
        28,
        28,
        1,
    ), name='input0')
    input1 = keras.Input(shape=(
        26,
        26,
        32,
    ), name='input1')
    x = keras.layers.Conv2D(32,
                            3,
                            strides=(1, 1),
                            padding='valid',
                            name='conv')(input0)
    y = tnt_layers.SplitLayer(name="split_layer0")(x)
    z = tnt_layers.SplitLayer(name="split_layer1")(x)

    x = keras.layers.Conv2D(32,
                            1,
                            strides=(1, 1),
                            padding='valid',
                            name='conv2')(y)
    x = tnt_layers.SplitLayer(name="split_layer2")(x)

    x = keras.layers.Concatenate(name='concat')([input1, x, z])
    x = keras.layers.Flatten(name='flatten')(x)
    outputs = keras.layers.Dense(10,
                                 activation='softmax',
                                 name='dense_softmax')(x)
    model = keras.Model(inputs=[input0, input1], outputs=outputs)
    return model
Пример #2
0
def skip_connection_model_generator():
    util.set_tf_random_seed()
    inputs = keras.Input(shape=(
        28,
        28,
        1,
    ), name='input')
    x = keras.layers.Conv2D(32,
                            3,
                            strides=(1, 1),
                            padding='valid',
                            name='conv')(inputs)
    y = tnt_layers.SplitLayer(name="split_layer0")(x)
    z = tnt_layers.SplitLayer(name="split_layer1")(x)

    x = keras.layers.Conv2D(32,
                            1,
                            strides=(1, 1),
                            padding='valid',
                            activation='relu',
                            name='conv_relu')(y)
    x = tnt_layers.SplitLayer(name="split_layer2")(x)

    x = keras.layers.Concatenate(name='concat')([x, z])
    x = keras.layers.Flatten(name='flatten')(x)
    outputs = keras.layers.Dense(10,
                                 activation='softmax',
                                 name='dense_softmax')(x)
    model = keras.Model(inputs=inputs, outputs=outputs)
    return model
Пример #3
0
def alexnet_model_generator():
    util.set_tf_random_seed()
    inputs = keras.Input(shape=(
        28,
        28,
        1,
    ), name='input')
    x = keras.layers.Conv2D(32, 3, strides=(1, 1), name='conv')(inputs)
    x = keras.layers.MaxPooling2D(pool_size=(3, 3),
                                  strides=(1, 1),
                                  name='maxpool')(x)
    x = tnt_layers.SplitLayer(name="split_layer0")(x)

    x = keras.layers.Conv2D(32, 3, strides=(1, 1), name='conv_two')(x)
    x = keras.layers.MaxPooling2D(pool_size=(3, 3),
                                  strides=(1, 1),
                                  name='maxpool_two')(x)
    x = tnt_layers.SplitLayer(name="split_layer1")(x)

    x = keras.layers.Conv2D(64, 3, strides=(1, 1), name='conv_three')(x)
    x = keras.layers.MaxPooling2D(pool_size=(3, 3),
                                  strides=(2, 2),
                                  name='maxpool_three')(x)
    x = keras.layers.Flatten(name='flatten')(x)
    x = keras.layers.Dense(512, activation='relu', name='dense_relu')(x)
    outputs = keras.layers.Dense(10,
                                 activation='softmax',
                                 name='dense_softmax')(x)
    model = keras.Model(inputs=inputs, outputs=outputs)
    return model
Пример #4
0
def simple_model_generator():
  util.set_tf_random_seed()
  input0 = keras.Input(shape=(28,28,1,), name='input')
  x = keras.layers.Flatten()(input0)
  x = keras.layers.Dense(2, activation='relu')(x)
  x = tnt_layers.SplitLayer(name="split_layer1")(x)
  output = keras.layers.Dense(10, activation='softmax', name='dense_softmax')(x)
  model = keras.Model(inputs=input0, outputs=output)
  return model
Пример #5
0
def multi_output_model_generator():
    util.set_tf_random_seed()
    input0 = keras.Input(shape=(
        28,
        28,
        1,
    ), name='input')
    x = keras.layers.Flatten(name='flatten')(input0)
    x = keras.layers.Dense(10, activation='relu', name='dense_relu')(x)
    y = tnt_layers.SplitLayer(name="ten_classes")(x)
    z = tnt_layers.SplitLayer(name="two_classes")(x)
    x = keras.layers.Add(name='add')([y, z])
    output0 = keras.layers.Dense(10, activation='relu',
                                 name='dense_softmax10')(x)
    output1 = keras.layers.Dense(2,
                                 activation='softmax',
                                 name='dense_softmax2')(x)
    model = keras.Model(inputs=input0,
                        outputs=[output0, output1],
                        name="model")
    return model
Пример #6
0
def fc_model_generator():
    util.set_tf_random_seed()
    reference_input = keras.Input(shape=(
        28,
        28,
        1,
    ), name='reference_input')
    reference_x = keras.layers.Flatten(name='flatten')(reference_input)
    reference_x = keras.layers.Dense(10, activation='relu',
                                     name='dense_relu')(reference_x)
    reference_x = tnt_layers.SplitLayer(name="split_layer1")(reference_x)
    reference_output = keras.layers.Dense(10,
                                          activation='softmax',
                                          name='dense_softmax')(reference_x)
    reference_model = keras.Model(inputs=reference_input,
                                  outputs=reference_output,
                                  name="reference_model")
    return reference_model
Пример #7
0
def incorrect_split_model():
    inputs = keras.Input(shape=(
        28,
        28,
        1,
    ), name='input')
    x = keras.layers.Conv2D(32,
                            3,
                            strides=(1, 1),
                            padding='valid',
                            name='conv')(inputs)
    y = tnt_layers.SplitLayer(name="split_layer0")(x)

    z = keras.layers.Conv2D(32,
                            1,
                            strides=(1, 1),
                            padding='valid',
                            activation='relu',
                            name='conv_relu')(y)
    x = keras.layers.Concatenate(name='concat')([x, z])
    model = keras.Model(inputs=inputs, outputs=x)
    return model