title: Error in "from keras.utils import to_categorical"
body: <p>I have probem with this code , why ?</p>
  <p>the code :</p>
  <pre><code>import cv2
  import numpy as np
  from PIL import Image
  import os
  import numpy as np
  import cv2
  import os
  import h5py
  import dlib
  from imutils import face_utils
  from keras.models import load_model
  import sys
  from keras.models import Sequential
  from keras.layers import Conv2D, MaxPooling2D,Dropout
  from keras.layers import Dense, Activation, Flatten
  from keras.utils import to_categorical
  from keras import backend as K 
  from sklearn.model_selection import train_test_split
  from Model import model
  from keras import callbacks
  
  # Path for face image database
  path = 'dataset'
  
  recognizer = cv2.face.LBPHFaceRecognizer_create()
  detector = cv2.CascadeClassifier(&quot;haarcascade_frontalface_default.xml&quot;);
  
  
  def downsample_image(img):
      img = Image.fromarray(img.astype('uint8'), 'L')
      img = img.resize((32,32), Image.ANTIALIAS)
      return np.array(img)
  
  
  
  # function to get the images and label data
  def getImagesAndLabels(path):
      
      path = 'dataset'
      imagePaths = [os.path.join(path,f) for f in os.listdir(path)]     
      faceSamples=[]
      ids = []
  
      for imagePath in imagePaths:
          
          #if there is an error saving any jpegs
          try:
              PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
          except:
              continue    
          img_numpy = np.array(PIL_img,'uint8')
  
          id = int(os.path.split(imagePath)[-1].split(&quot;.&quot;)[1])
          faceSamples.append(img_numpy)
          ids.append(id)
      return faceSamples,ids
  
  print (&quot;\n [INFO] Training faces now.&quot;)
  faces,ids = getImagesAndLabels(path)
  
  K.clear_session()
  n_faces = len(set(ids))
  model = model((32,32,1),n_faces)
  faces = np.asarray(faces)
  faces = np.array([downsample_image(ab) for ab in faces])
  ids = np.asarray(ids)
  faces = faces[:,:,:,np.newaxis]
  print(&quot;Shape of Data: &quot; + str(faces.shape))
  print(&quot;Number of unique faces : &quot; + str(n_faces))
  
  
  ids = to_categorical(ids)
  
  faces = faces.astype('float32')
  faces /= 255.
  
  x_train, x_test, y_train, y_test = train_test_split(faces,ids, test_size = 0.2, random_state = 0)
  
  checkpoint = callbacks.ModelCheckpoint('trained_model.h5', monitor='val_acc',
                                             save_best_only=True, save_weights_only=True, verbose=1)
                                      
  model.fit(x_train, y_train,
               batch_size=32,
               epochs=10,
               validation_data=(x_test, y_test),
               shuffle=True,callbacks=[checkpoint])
               
  
  # Print the numer of faces trained and end program
  print(&quot;enter code here`\n [INFO] &quot; + str(n_faces) + &quot; faces trained. Exiting Program&quot;)
  </code></pre>
  <hr />
  <pre><code>the output:
  ------------------
  File &quot;D:\my hard sam\ماجستير\سنة ثانية\البحث\python\Real-Time-Face-Recognition-Using-CNN-master\Real-Time-Face-Recognition-Using-CNN-master\02_face_training.py&quot;, line 16, in &lt;module&gt;
      from keras.utils import to_categorical
  ImportError: cannot import name 'to_categorical' from 'keras.utils' (C:\Users\omar\PycharmProjects\SnakGame\venv\lib\site-packages\keras\utils\__init__.py)
  </code></pre>