Я новичок в работе с Keras. Код работает правильно, но я хотел бы знать значение значений, показанных в эпохах. Я использую следующий код.
Где написано 46/46
и 226/277
, что означают эти числа? Почему 2 появляются, когда обычно появляется только, например, 100/100
?
import sys
import os
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras import optimizers
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dropout, Flatten, Dense, Activation
from tensorflow.python.keras.layers import Convolution2D, MaxPooling2D
from tensorflow.python.keras import backend as K
K.clear_session()
data_entrenamiento = '/content/DatosEntrenamiento' #images
"""
Parameters
"""
epocas=20
longitud, altura = 28, 28
batch_size = 32
pasos = 1000
validation_steps = 300
filtrosConv1 = 32
filtrosConv2 = 64
tamano_filtro1 = (3, 3)
tamano_filtro2 = (2, 2)
tamano_pool = (2, 2)
clases = 3
lr = 0.0004
##Preparamos nuestras imagenes
generator = ImageDataGenerator(
rescale=1. / 255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
)
test_datagen = ImageDataGenerator(rescale=1. / 255,validation_split=0.2)
entrenamiento_generador = generator.flow_from_directory(
data_entrenamiento,
target_size=(altura, longitud),
batch_size=batch_size,
class_mode='categorical',
subset='training')
validacion_generador = test_datagen.flow_from_directory(
data_entrenamiento,
target_size=(altura, longitud),
batch_size=batch_size,
class_mode='categorical',
subset='validation')
cnn = Sequential()
cnn.add(Convolution2D(filtrosConv1, tamano_filtro1, padding ="same", input_shape=(longitud, altura, 3), activation='relu'))
cnn.add(MaxPooling2D(pool_size=tamano_pool))
cnn.add(Convolution2D(filtrosConv2, tamano_filtro2, padding ="same"))
cnn.add(MaxPooling2D(pool_size=tamano_pool))
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'])
his = cnn.fit_generator(
entrenamiento_generador,
steps_per_epoch=pasos,
epochs=epocas,
validation_data=validacion_generador,
validation_steps=validation_steps)
Вывод:
Found 7230 images belonging to 3 classes.
Found 1446 images belonging to 3 classes.
Epoch 1/20
46/46 [=========] - 1s 21ms/step...
226/226 [======] - 8s 36ms/step...
Epoch 2/20
46/46 [=========] - 1s 21ms/step ...
226/226 [=======] - 8s 35ms/step ...