I am trying to train a binary classifier. It is a residual network with skip layers etc. but ultimately, the bottom two layers are a 1D convolution with sigmoid activation followed by a global max pool afterwards. I believed this should output predictions between 0 and 1.
In fact, I've trained a very similar model previously and it was working as expected but then I decided to change the way I preprocess input data and changed a few minor aspects like kernel size etc. and now when I call model.predict(inputs) I am getting a very broad range of values - at least between [-20,20]. I really don't see why, can anyone look at my model and potentially help me understand where I've gone wrong? Here is a json string that should allow you to load my model with model = model_from_json(json_string). Note that the final two layers are called 'conv_final' (conv1D with sigmoid activation) and 'output' (global max pooling) https://www.dropbox.com/s/3qywmcho5tldurr/final_model.json?dl=0