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

192
Vistas
Guardar modelo en Tensorflow 2.7.0 con capa de aumento de datos

Recibo un error al intentar guardar un modelo con capas de aumento de datos con Tensorflow versión 2.7.0.

Aquí está el código de aumento de datos:

 input_shape_rgb = (img_height, img_width, 3) data_augmentation_rgb = tf.keras.Sequential( [ layers.RandomFlip("horizontal"), layers.RandomFlip("vertical"), layers.RandomRotation(0.5), layers.RandomZoom(0.5), layers.RandomContrast(0.5), RandomColorDistortion(name='random_contrast_brightness/none'), ] )

Ahora construyo mi modelo así:

 # Build the model input_shape = (img_height, img_width, 3) model = Sequential([ layers.Input(input_shape), data_augmentation_rgb, layers.Rescaling((1./255)), layers.Conv2D(16, kernel_size, padding=padding, activation='relu', strides=1, data_format='channels_last'), layers.MaxPooling2D(), layers.BatchNormalization(), layers.Conv2D(32, kernel_size, padding=padding, activation='relu'), # best 4 layers.MaxPooling2D(), layers.BatchNormalization(), layers.Conv2D(64, kernel_size, padding=padding, activation='relu'), # best 3 layers.MaxPooling2D(), layers.BatchNormalization(), layers.Conv2D(128, kernel_size, padding=padding, activation='relu'), # best 3 layers.MaxPooling2D(), layers.BatchNormalization(), layers.Flatten(), layers.Dense(128, activation='relu'), # best 1 layers.Dropout(0.1), layers.Dense(128, activation='relu'), # best 1 layers.Dropout(0.1), layers.Dense(64, activation='relu'), # best 1 layers.Dropout(0.1), layers.Dense(num_classes, activation = 'softmax') ]) model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=metrics) model.summary()

Luego, una vez que finaliza el entrenamiento, solo hago:

 model.save("./")

Y estoy recibiendo este error:

 --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-84-87d3f09f8bee> in <module>() ----> 1 model.save("./") /usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py in error_handler(*args, **kwargs) 65 except Exception as e: # pylint: disable=broad-except 66 filtered_tb = _process_traceback_frames(e.__traceback__) ---> 67 raise e.with_traceback(filtered_tb) from None 68 finally: 69 del filtered_tb /usr/local/lib/python3.7/dist- packages/tensorflow/python/saved_model/function_serialization.py in serialize_concrete_function(concrete_function, node_ids, coder) 66 except KeyError: 67 raise KeyError( ---> 68 f"Failed to add concrete function '{concrete_function.name}' to object-" 69 f"based SavedModel as it captures tensor {capture!r} which is unsupported" 70 " or not reachable from root. " KeyError: "Failed to add concrete function 'b'__inference_sequential_46_layer_call_fn_662953'' to object-based SavedModel as it captures tensor <tf.Tensor: shape=(), dtype=resource, value=<Resource Tensor>> which is unsupported or not reachable from root. One reason could be that a stateful object or a variable that the function depends on is not assigned to an attribute of the serialized trackable object (see SaveTest.test_captures_unreachable_variable)."

Inspeccioné el motivo de recibir este error al cambiar la arquitectura de mi modelo y descubrí que el motivo provino de la capa data_augmentation ya que RandomFlip y RandomRotation y otros se cambiaron de layers.experimental.prepocessing.RandomFlip a layers.RandomFlip , pero aún así aparece el error.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

También puede degradar Keras y Tensorflow a la versión 2.6.

over 4 years ago · Santiago Trujillo Denunciar
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