Exemple #1
0
def complex_model_DFT(shape=(500,2),kernel_size=5,use_bias=False):
    input_layer = Input(shape=shape)
    scalar_layer = Complex_deconv(use_bias=use_bias,real_kernel_initializer='ones')(input_layer)
    conv1 = ComplexConv1D(filters=1,kernel_size=kernel_size,padding='same',use_bias=use_bias)(scalar_layer)
    fft1 = fft_layer1D()(conv1)
    deconv1 = Complex_deconv(use_bias=use_bias,real_kernel_initializer='ones')(fft1)
    deconv2 = ComplexConv1D(filters=1,kernel_size=kernel_size,padding='same',use_bias=use_bias)(deconv1)
    model = Model(input_layer,deconv2)
    return model 
def conv_real_model(shape=(500, 2), use_bias=False):
    '''
    This model is similar to the conv_model, but the kernel itself is real number
    '''
    input_layer = Input(shape=shape)
    conv1 = Complex_deconv(use_bias=use_bias,
                           real_kernel_initializer='ones')(input_layer)
    #conv1 = Complex_real_Conv1D(filters=1,kernel_size=3,padding='same',activation='linear', kernel_initializer=TruncatedNormal(mean=0.33),use_bias=False)(input_layer)
    #conv2 = Complex_real_Conv1D(filters=50,kernel_size=3,padding='same',activation='linear', kernel_initializer=TruncatedNormal(mean=0.33),use_bias=False)(conv1)
    #conv3 = Complex_real_Conv1D(filters=1,kernel_size=1,padding='same',activation='linear',use_bias=False)(conv2)
    fft1 = fft_layer1D()(conv1)
    model = Model(input_layer, fft1)
    return model
def much_complex_model(shape=(500, 2), use_bias=False):
    input_layer = Input(shape=shape)
    conv1 = ComplexConv1D(filters=64,
                          kernel_size=3,
                          padding='same',
                          use_bias=use_bias)(input_layer)
    conv2 = ComplexConv1D(filters=128, kernel_size=3, padding='same')(conv1)
    drop1 = Dropout(0.3)(conv2)
    conv3 = ComplexConv1D(filters=256, kernel_size=3, padding='same')(drop1)
    drop2 = Dropout(0.4)(conv3)

    conv4 = ComplexConv1D(filters=128, kernel_size=3, padding='same')(drop2)
    merge1 = concatenate([conv2, conv4], axis=2)

    conv5 = ComplexConv1D(filters=64, kernel_size=3, padding='same')(merge1)
    merge2 = concatenate([conv1, conv5])

    fft1 = fft_layer1D()(merge2)
    output = ComplexConv1D(1, 1, padding='same')(fft1)
    model = Model(input_layer, output)
    return model
def conv_model(shape=(500, 2), use_bias=True):
    '''
    to make sure that the input here is 
    '''
    input_layer = Input(shape=shape)
    conv1 = ComplexConv1D(
        filters=100,
        kernel_size=5,
        padding='same',
        activation='linear',
        kernel_initializer=TruncatedNormal(mean=0.33))(input_layer)
    conv2 = ComplexConv1D(filters=50,
                          kernel_size=3,
                          padding='same',
                          activation='linear',
                          kernel_initializer=TruncatedNormal(mean=0.33))(conv1)
    conv3 = ComplexConv1D(filters=1,
                          kernel_size=1,
                          padding='same',
                          activation='linear',
                          use_bias=False)(conv2)
    fft1 = fft_layer1D()(conv3)
    model = Model(input_layer, fft1)
    return model