بدءا من 0.30
الإفراج عن tf.Transform
، السلوك الافتراضي لتصدير SavedModel TF الإصدار 2.x ما لم يتم تعطيل صراحة السلوكيات TF الإصدار 2.x. هذه الصفحة توفر دليل لاستخدام tf.Transform
لتصدير تحويل الرسم البياني كما TensorFlow الإصدار 2.x SavedModel.
الجديد في tf.Transform with TF 2.x
تحميل نماذج Keras داخل preprocessing_fn
الرجاء استخدام tft.make_and_track_object
API لتحميل نماذج Keras كما هو موضح في المثال التالي.
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
تعمل وحدات TF الإصدار 2.x مركزا في tf.Transform
فقط عندما يكون preprocessing_fn
وتتبع وتصديرها على أنها SavedModel TF الإصدار 2.x (هذا هو السلوك الافتراضي بدءا tensorflow_transform 0.30
). الرجاء استخدام tft.make_and_track_object
API لتحميل tf.hub
وحدات كما هو موضح في المثال التالي.
def preprocessing_fn(inputs):
hub_module = tft.make_and_track_object(lambda: hub.load(...))
...
return {'hub_module_output': hub_module(inputs[...])}
قضايا الهجرة المحتملة
إذا كان ترحيل موجود tf.Transform
خط أنابيب من TF TF 1.x إلى الإصدار 2.x، قد تواجه المسائل التالية:
RuntimeError: ترتيب تحليل في حياتك preprocessing_fn
يبدو غير القطعية.
في TF الإصدار 2.x، و preprocessing_fn
المقدمة من قبل المستخدم وتتبع عدة مرات. إذا تغير الترتيب الذي يتم من خلاله مواجهة أجهزة تحليل TFT مع كل عملية تتبع ، فسيتم رفع هذا الخطأ. يمكن إصلاح ذلك عن طريق إزالة أي عدم حتمية بالترتيب الذي يتم فيه استدعاء محللات TFT.
إخراج transform_raw_features
لا يحتوي على ميزة المتوقعة.
مثال على الاستثناءات:
KeyError: \<feature key>
أو
\<feature key> not found in features dictionary.
TFTransformOutput.transform_raw_features
يتجاهل drop_unused_features
المعلمة ويتصرف كما لو كان صحيح. يرجى تحديث أي استخدامات لقاموس الإخراج من واجهة برمجة التطبيقات هذه للتحقق مما إذا كان المفتاح الذي تحاول استرداده موجودًا فيه.
يرى tf.estimator.BaselineClassifier خطأ لم تتم تهيئة الجدول.
مثال على الاستثناء:
tensorflow.python.framework.errors_impl.FailedPreconditionError: Table not initialized.
دعم المدرب مع المنفذ القائم على المقدر هو أفضل جهد. أثناء عمل المقدرين الآخرين ، رأينا مشكلات في تهيئة الجدول في تصنيف BaselineClassifier. إرضاء الإصدار 2.x TF في تعطيل tf.Transform
.
المشكلات المعروفة / الميزات غير المعتمدة حتى الآن
لم يتم دعم إخراج المفردات بتنسيق TFRecord حتى الآن.
tfrecord_gzip
غير معتمد بعد كقيمة صالحة لل file_format
المعلمة في tft.vocabulary
(وغيرها من واجهات برمجة التطبيقات المفردات).
الاحتفاظ بسلوك التحويل القديم
إذا كان لديك tf.Transform
لا يجب تشغيل خط أنابيب مع TF الإصدار 2.x، يمكنك الإبقاء على السلوك القديم في واحدة من الطرق التالية:
- TF2 في تعطيل
tf.Transform
بالدعوةtf.compat.v1.disable_v2_behavior()
- يمر
force_tf_compat_v1=True
لtft_beam.Context
في حالة استخدامtf.Transform
كمكتبة مستقل أو إلى مكون تحويل في TFX.