title: my model does not perform python and tensorflow process, keras
body: <pre><code>import sys
  import os
  import tensorflow
  import keras
  from tensorflow.keras.preprocessing.image import ImageDataGenerator
  from tensorflow.keras import optimizers
  from tensorflow.keras.models import Sequential
  from tensorflow.keras.layers import Dropout, Flatten, Dense, Activation
  from tensorflow.keras.layers import  Convolution2D, MaxPooling2D
  from tensorflow.keras import backend as K
  
  K.clear_session()
  
  datos_de_entrenamiento = './data/entrenamiento' #Carpeta de imagenes
  datos_de_validacion    = './data/validacion'    #Carpeta de imagenes para hacer validacion
  
  #Parametros iniciales
  
  epocas                 = 20       # Numero de veces a reiterar en nuestro procesamiento
  altura, longitud       = 150,150  # Tamaño en el que se van a procesar las imagenes, cambiando el tamaño con alt 100px y long=100px
  batch_size             = 32       # Numero de imagenes que se manda a procesar en nuestro computador
  pasos                  = 1000     # Numero de veces a procesar la información en cada epoca 
  pasos_validacion       = 200      # Corre 200 pasos al final de cada validación de datos para ver que esta aprendiendo el algoritmo
  filtroConv1            = 32       # Filtros a aplicar en cada convolucion
  filtroConv2            = 64       # Filtros a aplicar en cada convolucion
  tamano_filtro1         = (3,3)    # Tamaño de filto a usar en la convolucion
  tamano_filtro2         = (2,2)    # Tamaño de filto a usar en la convolucion
  tamano_pool            = (2,2)    # Tamaño de filto a usar en el maxpooling
  clases                 = 2        # Numero de carpetas contenedoras de nuestras imagenes
  lr                     = 0.0005   # El tamño de los ajustes que hace nuestra red neuronal para ir a una solución optima
  
  #Preprocesamiento de imagenes
  
  ##Preparamos nuestras imagenes
  
  entrenamiento_datagen = ImageDataGenerator(
      rescale=1. / 255,
      shear_range=0.2,
      zoom_range=0.2,
      horizontal_flip=True)
  
  test_datagen = ImageDataGenerator(rescale=1. / 255)
  
  entrenamiento_generador = entrenamiento_datagen.flow_from_directory(
      datos_de_entrenamiento,
      target_size=(altura, longitud),
      batch_size=batch_size,
      class_mode='categorical')
  
  validacion_generador = test_datagen.flow_from_directory(
      datos_de_validacion,
      target_size=(altura, longitud),
      batch_size=batch_size,
      class_mode='categorical')
  # Creacion de red convolucional 
  
  cnn=Sequential()
  cnn.add(Convolution2D(filtroConv1, tamano_filtro1, padding='same', input_shape=(altura,longitud,3), activation='relu'))
  cnn.add(MaxPooling2D(pool_size=tamano_pool))
  cnn.add(MaxPooling2D(pool_size=tamano_pool))
  cnn.add(Convolution2D(filtroConv2, tamano_filtro2, padding='same', activation='relu'))
  
  cnn.add(Flatten())
  cnn.add(Dense(256,activation='relu'))
  cnn.add(Dropout(0.5))
  cnn.add(Dense(clases, activation='softmax'))
  cnn.compile(loss='categorical_crossentropy', optimizer=optimizers.Adam(lr=lr), metrics=['accuracy'])
  
  cnn.fit_generator(
      entrenamiento_generador,
      steps_per_epoch=pasos,
      epochs=epocas,
      validation_data=validacion_generador,
      validation_steps=pasos_validacion)
  
  dir='./modelo/'
  
  if not os.path.exists(dir):
      os.mkdir(dir)
      
  cnn.save('./modelo/modelo.h5')
  cnn.save_weights('./modelo/pesos.h5')
  
  Found 460 images belonging to 2 classes.
  Found 460 images belonging to 2 classes.
  </code></pre>
  <p>Epoch 1/20
  15/1000 [..............................] - ETA: 2:18:49 - loss: 1.5865 - accuracy: 0.5543WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least <code>steps_per_epoch * epochs</code> batches (in this case, 20000 batches). You may need to use the repeat() function when building your dataset.</p>
  <p>It does not pass 15 and the process is finished.</p>