Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!