TensorFlow 2.x ile tf.Transform kullanma

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

İle başlayarak 0.30 sürümü tf.Transform , varsayılan davranış TF 2.x davranışları açıkça özürlü olmadıkça bir TF 2.x SavedModel ihraç etmektir. Bu sayfa kullanımı için bir kılavuz sağlar tf.Transform bir TensorFlow 2.x SavedModel olarak dönüşümü grafiği ihracat.

TF 2.x ile tf.Transform'da yenilikler

İçinde Keras modellerini yükleniyor preprocessing_fn

Kullanın tft.make_and_track_object aşağıdaki örnekte görüldüğü gibi Keras modelleri yüklemek için API.

def preprocessing_fn(inputs):
  keras_model = tft.make_and_track_object(lambda: tf.keras.models.load_model(...), name='_unique_name')
  ...
  return {'keras_model_output': keras_model(inputs[...])}

TF 2.x tf.hub modüllerini kullanma

TF 2.x göbek modülleri çalışmak tf.Transform yalnızca preprocessing_fn takip ve TF 2.x SavedModel (bu başlayarak varsayılan davranıştır olarak ihraç edilmektedir tensorflow_transform 0.30 ). Kullanın tft.make_and_track_object yüklemek için API tf.hub aşağıdaki örnekte gösterildiği gibi modülleri.

def preprocessing_fn(inputs):
  hub_module = tft.make_and_track_object(lambda: hub.load(...))
  ...
  return {'hub_module_output': hub_module(inputs[...])}

Potansiyel geçiş sorunları

Varolan taşıyorsanız tf.Transform boru hattı TF 1.x için TF 2.x, aşağıdaki sorunlar karşılaştı:

RuntimeError: senin içinde analizörleri sırası preprocessing_fn olmayan deterministik olarak görünmektedir.

TF 2.x preprocessing_fn kullanıcı tarafından sağlanan birkaç kez izlenir. TFT analizörlerinin karşılaşılma sırası her izde değişirse bu hata ortaya çıkar. Bu, TFT çözümleyicilerinin çağrıldığı sırada herhangi bir determinizm olmayanın kaldırılmasıyla düzeltilebilir.

Çıktı transform_raw_features beklenen özelliği içermiyor.

Örnek istisnalar:

KeyError: \<feature key>

veya

\<feature key> not found in features dictionary.

TFTransformOutput.transform_raw_features görmezden drop_unused_features True sanki parametreyi ve davranır. Almaya çalıştığınız anahtarın içinde olup olmadığını kontrol etmek için lütfen bu API'den çıktı sözlüğünün tüm kullanımlarını güncelleyin.

tf.estimator.BaselineClassifier, Tablo başlatılmadı hatası görüyor.

Örnek istisna:

tensorflow.python.framework.errors_impl.FailedPreconditionError: Table not initialized.

Tahminci tabanlı yürütücü ile Eğitmen desteği en iyi çabadır. Diğer tahminciler çalışırken, BaselineClassifier'da tablo başlatma ile ilgili sorunlar gördük. Lütfen devre dışı bırakırsak TF 2.x tf.Transform .

Bilinen sorunlar / Henüz desteklenmeyen özellikler

Sözlüklerin TFRecord formatında çıktısı henüz desteklenmemektedir.

tfrecord_gzip henüz için geçerli değer olarak desteklenmez file_format parametre tft.vocabulary (ve diğer kelime API'ler).

Eski tf.Transform davranışını koruma

Senin Eğer tf.Transform boru hattı TF 2.x birlikte yayınlanmaması gereken, aşağıdaki yöntemlerden birini kullanarak eski davranışını koruyabilirsiniz: