Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tf.keras.estimator.model_to_estimator

TensorFlow 1 wersja Zobacz źródło na GitHub

Konstruuje Estimator wystąpienie z danymi Keras modelu.

Stosowany w notebookach

Używany w przewodniku Używany w samouczków

Jeśli korzystasz z infrastruktury lub inne oprzyrządowanie, które opiera się na estymatorów, nadal można zbudować Keras modelu i używać model_to_estimator do konwersji modelu Keras do prognozy do użytku w systemach końcowych.

Na przykład użycia, patrz: Tworzenie estymatorów z Keras Models .

Przykładowe Ciężary:

Estymatory zwracane przez model_to_estimator są skonfigurowane tak, aby poradzić sobie z masy próbki (podobnych do keras_model.fit(x, y, sample_weights) ).

Aby przejść przykładowe ciężarów podczas szkolenia lub oceny prognozy, pierwszy element zwrócony przez funkcję wejścia powinny być słownikiem z kluczami features oraz sample_weights . Przykład poniżej:

 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)
 

Aby dostosować Estymator eval_metric_ops nazwy, można przekazać w metric_names_map słownika mapowania Keras wyjściowych modelu nazwiska metrycznych do nazw własnych, co następuje:

   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 Skompilowany Keras model obiektowy. Ten argument jest wzajemnie się wykluczają z keras_model_path . Estymator za model_fn wykorzystuje strukturę modelu sklonować modelu. Domyślnie None .
keras_model_path Ścieżka do skompilowanego modelu Keras zapisane na dysku w formacie HDF5, które mogą być generowane z save() metody modelu Keras. Ten argument jest wzajemnie się wykluczają z keras_model . Domyślnie None .
custom_objects Słownik dostosowanych do klonowania obiektów. To jest używana z klas, które nie jest częścią tego pakietu PIP. Na przykład, jeśli użytkownik przechowuje relu6 klasę, która dziedziczy tf.keras.layers.Layer , a następnie przekazać custom_objects={'relu6': relu6} . Domyślnie None .
model_dir Katalog, aby zapisać Estimator parametrów modelu, wykres, pliki podsumowania dla TensorBoard itp Jeśli nie ustawiono katalogu zostaną utworzone z tempfile.mkdtemp
config RunConfig config Estimator . Umożliwia utworzenie rzeczy model_fn w zależności od konfiguracji, takich jak num_ps_replicas lub model_dir . Domyślnie None . Jeśli zarówno config.model_dir i model_dir argument (powyżej) określiło model_dir argumentu pierwszeństwo.
checkpoint_format Ustawia format checkpoint zapisaną przez estymator podczas treningu. Może być saver lub checkpoint , w zależności od tego, czy zapisać punkty kontrolne z tf.compat.v1.train.Saver lub tf.train.Checkpoint . Domyślną wartością jest checkpoint . Estymatory używać nazw opartych tf.train.Saver punkty kontrolne, podczas gdy modele Keras użyciu punktów kontrolnych obiektów opartych z tf.train.Checkpoint . Obecnie, oszczędzając punkty kontrolne obiektów opartych od model_to_estimator jest obsługiwana tylko przez modele funkcjonalne i sekwencyjnym. Domyślnie jest to 'checkpoint.
metric_names_map Opcjonalne wyjście słownika mapowanie nazwy modelu Keras metrycznych do nazw własnych. To może być używany do przesłonić domyślne Keras metryki wyjściowe modelu nazwiska w multi przypadku IO modelu użytkowania i zapewniają własne nazwy dla eval_metric_ops w prognozy. Nazwy modeli metrycznych Keras można uzyskać stosując model.metrics_names wyłączeniem wszelkich wskaźników, takich jak utrata strat całkowitych strat i wyjściowych. Na przykład, jeśli twój model Keras ma dwa wyjścia out_1 i out_2 z mse straty i acc metryki, a następnie model.metrics_names będzie ['loss', 'out_1_loss', 'out_2_loss', 'out_1_acc', 'out_2_acc'] . Modelowe nazwy metryczne wyłączeniem metryki strata będzie ['out_1_acc', 'out_2_acc'] .

Estymator z danym Keras modelu.

ValueError Jeśli ani keras_model ani keras_model_path dano.
ValueError Jeśli oba keras_model i keras_model_path dano.
ValueError Jeśli keras_model_path jest GCS URI.
ValueError Jeśli keras_model nie został skompilowany.
ValueError Jeśli nieprawidłowy checkpoint_format dano.