i found that by default keras use Glorot/Xavier to initialize weight, this means that the values will be between +- (sqrt(6 / float(F_in + F_out))
But in my case i use the architecture below, with ishape = (None, 4): i don't use fixed input size. ( My input data is a DNA sequence in one hot encoding)
model = keras.Sequential()
model.add(Conv1D(filternumber, b, activation='relu', input_shape=ishape))
model.add(MaxPooling1D(pool_size=a))
model.add(GlobalAvgPool1D(data_format="channels_last"))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
How keras initialize the weight, considering that it doesn't know the input size? What is the best way to initialize the weight in my case?
Thanks