text: Title: Model.predict giving same predictions for every examples
  Body: I have a 110 layer resnet trained and validated with 4 classes to classify. Training examples are in decent proportion (30%,20%,25%,25%). It has validation accuracy of around 90%. When testing it for new examples it gives same class as output always. I am giving a list of arrays as input to model.predict. I have attached the code below.
  
  `from __future__ import division, print_function, absolute_import
   import numpy as np
  #import pandas as pd
   import tflearn
   import os
   from glob import glob
   import cv2
  import csv
  import pickle
  
  from tflearn.data_utils import shuffle, to_categorical
  from tflearn.layers.core import input_data, dropout, fully_connected
  from tflearn.layers.conv import conv_2d, max_pool_2d
  from tflearn.layers.estimator import regression
  from tflearn.layers.normalization import local_response_normalization
  from tflearn.data_preprocessing import ImagePreprocessing
  from tflearn.data_augmentation import ImageAugmentation
  import h5py
  train_data = h5py.File('train_dataset_her2.h5', 'r')
  X = train_data['X']
  Y = train_data['Y']
  test_data = h5py.File('test_dataset_her2.h5', 'r')
  testX = test_data['X']
  testY = test_data['Y']
  # Real-time data preprocessing
  img_prep = tflearn.ImagePreprocessing()
  img_prep.add_featurewise_zero_center()
  
  # Real-time data augmentation
   img_aug = tflearn.ImageAugmentation()
   img_aug.add_random_flip_leftright()
  
  
  #network
  n=18
  network = input_data(shape=[None, 224, 224,3])#data_preprocessing=img_prep,data_augmentation=img_aug)
  network=conv_2d(network,108,3,activation='relu')
  network=max_pool_2d(network,2)
  network=conv_2d(network,108,3,activation='relu')
  network=max_pool_2d(network,2)
  network = conv_2d(network,108, 3, activation='relu')
  network = dropout(network, 0.8)
  network = tflearn.conv_2d(network, 16, 3, regularizer='L2', weight_decay=0.0001)
  network = tflearn.residual_block(network, n, 16)
  network = tflearn.residual_block(network, 1, 32, downsample=True)
  network = tflearn.residual_block(network, n-1, 32)
  network = tflearn.residual_block(network, 1, 64, downsample=True)
  network = tflearn.residual_block(network, n-1, 64)
  network = tflearn.batch_normalization(network)
  network = tflearn.activation(network, 'relu')
  network = tflearn.global_avg_pool(network)
  network = tflearn.fully_connected(network, 4, activation='softmax')
  
  adam =tflearn.optimizers.Adam(learning_rate=0.002)
  network = tflearn.regression(network, optimizer=adam,
  loss='categorical_crossentropy')
  
  model = tflearn.DNN(network, tensorboard_verbose=0)
  model.load("dataset_adam_resnet.tfl.ckpt-4000")
  print("Done loading model")
  
  ############################################################################
  ###Prediction
  
  sub_folder = [temp[0] for temp in os.walk('Dataset_Test_Data')]
  sub_folder = sub_folder[1:]
  
  
  ######################################################################
  ###predict without pickle
  
  for f1 in range(1):#(len(sub_folder)):
  	list_images = sorted(glob(sub_folder[f1] + '/*.jpg'))
  	predictions = []
  	temp_m = sub_folder[f1].split("/")
  	print("OPerating '%s' folder" %temp_m[1])
  	for item in list_images:
  		print("predicting%s"%item)
  		predictions.append(model.predict_label((cv2.imread(item)).astype(float).reshape(1,224,224,3)))
  	
  	
  writer = csv.writer(open('./HER2_Test_Data/'+temp_m[1]+'/Prediction_cnn_without_pickle' + temp_m[1] + '.csv', "w"))
  writer.writerows(predictions)	
  
  `