Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.keras.estimator.model_to_estimator

TensorFlow 1 versión Ver código fuente en GitHub

Construye un Estimator ejemplo, a partir dado Keras modelo.

Se utiliza en los cuadernos

Se utiliza en la guía Se utiliza en los tutoriales

Si utiliza la infraestructura u otras herramientas que se basa en los estimadores, todavía se puede construir un modelo y el uso model_to_estimator Keras para convertir el modelo Keras a un estimador para su uso con sistemas de aguas abajo.

Por ejemplo el uso, consulte: Creación de estimadores de modelos Keras .

Los pesos de la muestra:

Estimadores devueltos por model_to_estimator están configurados de manera que pueden manejar pesos de la muestra (similares a keras_model.fit(x, y, sample_weights) ).

Para pasar pesos de la muestra durante el entrenamiento o evaluar el Estimador, el primer elemento devuelto por la función de entrada debe ser un diccionario con claves features y sample_weights . Ejemplo a continuación:

 keras_model = tf.keras.Model(...)
keras_model.compile(...)

estimator = tf.keras.estimator.model_to_estimator(keras_model)

def input_fn():
  return dataset_ops.Dataset.from_tensors(
      ({'features': features, 'sample_weights': sample_weights},
       targets))

estimator.train(input_fn, steps=1)
 

Para personalizar el estimador eval_metric_ops nombres, puede pasar en el metric_names_map diccionario mapeando los nombres métricas Keras modelo de salida a los nombres personalizados de la siguiente manera:

   input_a = tf.keras.layers.Input(shape=(16,), name='input_a')
  input_b = tf.keras.layers.Input(shape=(16,), name='input_b')
  dense = tf.keras.layers.Dense(8, name='dense_1')
  interm_a = dense(input_a)
  interm_b = dense(input_b)
  merged = tf.keras.layers.concatenate([interm_a, interm_b], name='merge')
  output_a = tf.keras.layers.Dense(3, activation='softmax', name='dense_2')(
          merged)
  output_b = tf.keras.layers.Dense(2, activation='softmax', name='dense_3')(
          merged)
  keras_model = tf.keras.models.Model(
      inputs=[input_a, input_b], outputs=[output_a, output_b])
  keras_model.compile(
      loss='categorical_crossentropy',
      optimizer='rmsprop',
      metrics={
          'dense_2': 'categorical_accuracy',
          'dense_3': 'categorical_accuracy'
      })

  metric_names_map = {
      'dense_2_categorical_accuracy': 'acc_1',
      'dense_3_categorical_accuracy': 'acc_2',
  }
  keras_est = tf.keras.estimator.model_to_estimator(
      keras_model=keras_model,
      config=config,
      metric_names_map=metric_names_map)
 

keras_model Un modelo de objetos Keras compilado. Este argumento es mutuamente excluyente con keras_model_path . Estimador de model_fn utiliza la estructura del modelo para clonar el modelo. El valor predeterminado es None .
keras_model_path Camino a un modelo Keras compilado guardados en el disco, en formato HDF5, que se puede generar con el save() método de un modelo Keras. Este argumento es mutuamente excluyente con keras_model . El valor predeterminado es None .
custom_objects Diccionario para la clonación de objetos personalizados. Esto se utiliza con las clases que no forma parte de este paquete PIP. Por ejemplo, si el usuario mantiene una relu6 clase que hereda de tf.keras.layers.Layer , a continuación, pasan custom_objects={'relu6': relu6} . El valor predeterminado es None .
model_dir Directorio para guardar Estimator parámetros del modelo, gráficos, archivos de resumen para TensorBoard, etc. Si no se configura, se creará un directorio con tempfile.mkdtemp
config RunConfig en las configuraciones Estimator . Permite la creación de cosas en model_fn base a la configuración como num_ps_replicas , o model_dir . El valor predeterminado es None . Si tanto config.model_dir y la model_dir se especifican argumento (por encima) del model_dir argumento tiene prioridad.
checkpoint_format Establece el formato del punto de control guardado por el estimador cuando se entrena. Puede ser saver o checkpoint , dependiendo de si para salvar los puestos de control de tf.compat.v1.train.Saver o tf.train.Checkpoint . El valor predeterminado es checkpoint . Estimadores utilizan nombres basados en tf.train.Saver puestos de control, mientras que los modelos Keras utilizan puntos de control basados en objetos de tf.train.Checkpoint . Actualmente, el ahorro de los puestos de control basados en objetos de model_to_estimator sólo es compatible con los modelos funcionales y secuencial. Por defecto es 'punto de control'.
metric_names_map diccionario opcional modelo de asignación de salida Keras nombres métricas a nombres personalizados. Esto puede ser usado para reemplazar el valor predeterminado Keras nombres de métricas de salida del modelo en un caso de múltiples IO modelo de uso y proporcionar los nombres personalizados para los eval_metric_ops en Estimador. Los nombres métricas modelo Keras pueden obtenerse usando model.metrics_names excluyendo cualquier métricas de pérdida tales como el total de pérdida pérdidas y de salida. Por ejemplo, si el modelo tiene dos salidas Keras out_1 y out_2 , con mse pérdida y acc métrica, entonces model.metrics_names serán ['loss', 'out_1_loss', 'out_2_loss', 'out_1_acc', 'out_2_acc'] . Los nombres métricas modelo con exclusión de las métricas de pérdida será ['out_1_acc', 'out_2_acc'] .

Un estimador de modelo Keras dado.

ValueError Si se le dio ni keras_model ni keras_model_path.
ValueError Si se le dio tanto keras_model y keras_model_path.
ValueError Si el keras_model_path es un URI GCS.
ValueError Si no se ha compilado keras_model.
ValueError Si se le dio una checkpoint_format válido.