Course 4 - Week 3 - MobileNet

Hi!

I have few points to clarify re: MobileNet programming assignment. I have already passed the test!
Will appreciate clarifications please.

  1. What is the intuition to use linear activation in the final layer rather than Sigmoid? I tried with Sigmoid activation and it performed a bit better.

  2. With linear activation, how model.fit calculates loss for learning? Label y is either 0 or 1 whereas calculated y^ is a real number. Does it use liner output (y^) as it is for loss calculation?

  3. What is behaviour of data augmentation layer during predict() and evaluate()?

  4. I found based on the p that data is processed in different order in the below two calls:

             p = model2.predict(images, batch_size=BATCH_SIZE)
    
             p = model2.predict(validation_dataset)
    

    whereas ‘images’ is derived from validation_dataset by appending images in the order
    of batches. ‘images’ shape is (65, 160, 160, 3).

    Any insight on how predict() works on dataset?

Hi rajsura82,

For your first two questions you can have a look here.

As to your third question, data is only augmented during training. See RandomFlip layer and RandomRotation layer.

As to your fourth question, have a look around at stackoverflow, e.g. here or here, or do a search there to find additional information.

Thanks for your response. Links you provided answer my queries.