TensorFlow 2.x এর সাথে tf.Transform ব্যবহার করা

tf.Transform এর 0.30 রিলিজ দিয়ে শুরু করে, ডিফল্ট আচরণ হল একটি TF 2.x SavedModel রপ্তানি করা যদি না TF 2.x আচরণগুলি স্পষ্টভাবে অক্ষম করা হয়। এই পৃষ্ঠাটি একটি TensorFlow 2.x SavedModel হিসাবে রূপান্তর গ্রাফ রপ্তানি করতে tf.Transform ব্যবহার করার জন্য একটি নির্দেশিকা প্রদান করে।

TF 2.x এর সাথে tf.Transform-এ নতুন

preprocessing_fn এর মধ্যে কেরাস মডেল লোড করা হচ্ছে

নীচের উদাহরণে দেখানো হিসাবে Keras মডেলগুলি লোড করতে দয়া করে tft.make_and_track_object 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 মডিউল ব্যবহার করে

TF 2.x হাব মডিউল tf.Transform এ কাজ করে যখন preprocessing_fn ট্রেস করা হয় এবং TF 2.x SavedModel হিসেবে রপ্তানি করা হয় (এটি tensorflow_transform 0.30 দিয়ে শুরু হওয়া ডিফল্ট আচরণ)। নীচের উদাহরণে দেখানো tf.hub মডিউলগুলি লোড করতে দয়া করে tft.make_and_track_object API ব্যবহার করুন৷

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

সম্ভাব্য মাইগ্রেশন সমস্যা

TF 1.x থেকে TF 2.x এ বিদ্যমান tf.Transform পাইপলাইন স্থানান্তরিত হলে, নিম্নলিখিত সমস্যার সম্মুখীন হতে পারে:

রানটাইম ত্রুটি: আপনার preprocessing_fn এ বিশ্লেষকদের ক্রম অ-নির্ধারক বলে মনে হচ্ছে।

TF 2.x-এ, ব্যবহারকারী দ্বারা প্রদত্ত preprocessing_fn বেশ কয়েকবার ট্রেস করা হয়। TFT বিশ্লেষক যে ক্রম অনুসারে প্রতিটি ট্রেসের সাথে পরিবর্তিত হয়, এই ত্রুটিটি উত্থাপিত হবে। টিএফটি বিশ্লেষক যে ক্রমানুসারে আমন্ত্রণ জানানো হয় সেই ক্রমে যেকোন অ-নির্ধারণবাদকে সরিয়ে দিয়ে এটি ঠিক করা যেতে পারে।

transform_raw_features এর আউটপুটে প্রত্যাশিত বৈশিষ্ট্য নেই।

উদাহরণ ব্যতিক্রম:

KeyError: \<feature key>

বা

\<feature key> not found in features dictionary.

TFTransformOutput.transform_raw_features drop_unused_features পরামিতি উপেক্ষা করে এবং আচরণ করে যেন এটি সত্য। আপনি যে কীটি পুনরুদ্ধার করার চেষ্টা করছেন তা এটিতে বিদ্যমান কিনা তা পরীক্ষা করতে দয়া করে এই API থেকে আউটপুট অভিধানের যেকোনো ব্যবহার আপডেট করুন৷

tf.estimator.BaselineClassifier সারণী আরম্ভ করা ত্রুটি দেখে না।

উদাহরণ ব্যতিক্রম:

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

এস্টিমেটর ভিত্তিক নির্বাহক সহ প্রশিক্ষকের জন্য সহায়তা সর্বোত্তম প্রচেষ্টা। অন্যান্য অনুমানকারীরা কাজ করার সময়, আমরা বেসলাইন ক্লাসিফায়ারে টেবিল প্রারম্ভিকতার সমস্যা দেখেছি। অনুগ্রহ করে tf.Transform এ TF 2.x নিষ্ক্রিয় করুন

পরিচিত সমস্যা / বৈশিষ্ট্য এখনও সমর্থিত নয়

TFRecord বিন্যাসে আউটপুট শব্দভান্ডার এখনও সমর্থিত নয়।

tfrecord_gzip এখনও tft.vocabulary (এবং অন্যান্য শব্দভান্ডার APIs) file_format প্যারামিটারের জন্য একটি বৈধ মান হিসাবে সমর্থিত নয়।

উত্তরাধিকার বজায় রাখা tf. Transform আচরণ

যদি আপনার tf.Transform পাইপলাইনটি TF 2.x দিয়ে না চালানো উচিত, তাহলে আপনি নিম্নলিখিত উপায়গুলির মধ্যে একটিতে উত্তরাধিকারের আচরণ বজায় রাখতে পারেন:

  • tf.compat.v1.disable_v2_behavior() কল করে tf.Transform এ TF2 নিষ্ক্রিয় করুন
  • force_tf_compat_v1=True to tft_beam.Context পাস করা যদি tf.Transform একটি স্বতন্ত্র লাইব্রেরি হিসাবে বা TFX-এ ট্রান্সফর্ম উপাদান ব্যবহার করে।