Tell us what’s happening:
I have re scaled my inputs so all inputs are divided by 255. I have set the last Dense layer to 2 so I was hoping to get 2 values between 0 and 1 that add up to 1. Instead I seem to be getting random integers.
I know the model is not accurate that is part of the challenge and improving the accuracy is not what I am asking here. I just want to know how to get the expected output.
Your code so far
This is the model:
model = Sequential()
model.add(layer=tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH, 3)))
model.add(layer=tf.keras.layers.MaxPooling2D((2, 2)))
model.add(layer=tf.keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layer=tf.keras.layers.MaxPooling2D((2, 2)))
model.add(layer=tf.keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layer=tf.keras.layers.Flatten())
model.add(layer=tf.keras.layers.Dense(64, activation='relu'))
model.add(layer=tf.keras.layers.Dense(2))
model.compile(optimizer='adam', loss=tf.keras.losses.BinaryCrossentropy(), metrics=['accuracy'])
model.summary()
This is my fitting the model:
history = model.fit(train_data_gen, steps_per_epoch=10, epochs=epochs, validation_data=val_data_gen, validation_steps=800)
This is what generates the values that I expect to be between 0 and 1
probabilities = model.predict(test_data_gen, batch_size=batch_size)
print(probabilities)
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
.
Challenge: Cat and Dog Image Classifier
Link to the challenge: