title: cifar100 with MobiletNetV2
body: <p>I am trying to train MobileNetV2 on CIFAR100 using keras.applications
  Here is my code:</p>
  
  <pre><code>(x_train,y_train),(x_test,y_test) = tf.keras.datasets.cifar100.load_data(label_mode='fine')
  
  x_test = x_test.astype("float32")
  x_train = x_train.astype("float32")
  
  x_test /=255
  x_train /=255
  
  y_test = tf.keras.utils.to_categorical(y_test,100)
  y_train = tf.keras.utils.to_categorical(y_train,100)
  model = MobileNetV2(input_shape=(32,32,3),
                      alpha=1.0,
                      include_top=True,
                      weights=None,
                      classes=100)
  epochs = 200
  batch_size = 64
  print('Using real-time data augmentation.')
      # This will do preprocessing and realtime data augmentation:
  datagen = ImageDataGenerator(
          featurewise_center=False,  # set input mean to 0 over the dataset
          samplewise_center=False,  # set each sample mean to 0
          featurewise_std_normalization=False,  # divide inputs by std of the dataset
          samplewise_std_normalization=False,  # divide each input by its std
          zca_whitening=False,  # apply ZCA whitening
          zca_epsilon=1e-06,  # epsilon for ZCA whitening
          rotation_range=0,  # randomly rotate images in the range (degrees, 0 to 180)
          # randomly shift images horizontally (fraction of total width)
          width_shift_range=0.1,
          # randomly shift images vertically (fraction of total height)
          height_shift_range=0.1,
          shear_range=0.,  # set range for random shear
          zoom_range=0.,  # set range for random zoom
          channel_shift_range=0.,  # set range for random channel shifts
          # set mode for filling points outside the input boundaries
          fill_mode='nearest',
          cval=0.,  # value used for fill_mode = "constant"
          horizontal_flip=True,  # randomly flip images
          vertical_flip=False,  # randomly flip images
          # set rescaling factor (applied before any other transformation)
          rescale=None,
          # set function that will be applied on each input
          preprocessing_function=None,
          # image data format, either "channels_first" or "channels_last"
          data_format=None,
          # fraction of images reserved for validation (strictly between 0 and 1)
          validation_split=0.0)
  datagen.fit(x_train)
  
  model.compile(optimizer='adam', loss=tf.keras.losses.categorical_crossentropy, metrics=['acc'])
  history = model.fit_generator(datagen.flow(x_train, y_train,batch_size=batch_size),
                          epochs=epochs,
                          validation_data=(x_test, y_test)
                               )
  </code></pre>
  
  <p>The issue is with the validation accuracy, after 200 epochs the acc is almost 40%. 
  I tried to fine_tune the optimizer/loss params but still the same. My guess is the dim of the input is too small for the model as the default is 224*224, however according to the documentation you could use whatever you want!</p>
  
  <p>Any advice? (I do not want to change the dim of cifar100 to 224*224 because of some assumptions related to this experiment)!</p>