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