Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
¿Por qué hay una caída de precisión en el conjunto de datos de prueba (caída de alrededor del 7 %) después de cargar el modelo guardado?

Estoy construyendo un modelo para clasificar si la persona de la imagen lleva mascarilla o no. Utilicé el modelo EfficientNetB0 con una capa de aumento de datos personalizada (secuencial), todo apilado con la ayuda de la capa funcional. Después de guardar el modelo (en formato h5) y cargar el modelo guardado, la precisión en el conjunto de datos de prueba fue diferente.

La precisión en el conjunto de datos de prueba originalmente era de alrededor del 98 % Después de cargar el modelo guardado, la precisión en el conjunto de datos de prueba se desplomó al 91 %

image_dataset_from_directory para cargar las imágenes para los conjuntos de entrenamiento, prueba y validación.

 train_data = keras.preprocessing.image_dataset_from_directory( train_dir, image_size=(224, 224), color_mode="rgb", batch_size=64, label_mode="categorical" )

Luego creó un conjunto de datos de búsqueda previa

 train_dataset = train_data.shuffle(buffer_size=1000).prefetch(buffer_size=tf.data.AUTOTUNE)

Esta es la capa de aumento de datos personalizados:

 data_aug = keras.Sequential([ keras.layers.RandomRotation(0.3), keras.layers.RandomContrast(0.3) ])

El modelo

 inputs = keras.layers.Input(shape=(224, 224, 3)) x = data_aug(inputs) x = eff_model(x, training=False) x = keras.layers.GlobalAveragePooling2D()(x) x = keras.layers.Dense(3, activation="softmax")(x) model = keras.Model(inputs=inputs, outputs=x) model.compile(loss=keras.losses.CategoricalCrossentropy(), metrics=["accuracy"], optimizer=keras.optimizers.Adam(0.001)) history = model.fit(train_dataset, steps_per_epoch=len(train_dataset), epochs=20, validation_data=val_dataset, validation_steps=len(val_dataset))

Esta es la precisión que mi modelo logró originalmente en el conjunto de datos de prueba.

ingrese la descripción de la imagen aquí

Guardando el modelo y recargando el modelo guardado:

 model.save("face_Detect.h5") load_model = keras.models.load_model("/content/face_Detect.h5")

Esta es la precisión lograda en el modelo cargado:

ingrese la descripción de la imagen aquí

No tengo idea porque la precisión en el conjunto de datos de prueba para el modelo original y el modelo cargado debería ser similar, pero esta es una gran diferencia. ¿Es esto un error en Tensorflow 2.7.0 o estoy cometiendo algún error terrible?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda