একটি Eval সংরক্ষিত মডেল কনফিগার করা হচ্ছে

TensorFlow মডেল বিশ্লেষণ (TFMA) একটি মডেলের মূল্যায়ন গ্রাফকে EvalSavedModel নামক একটি বিশেষ SavedModel রপ্তানি করতে পারে। (উল্লেখ্য যে মূল্যায়ন গ্রাফটি ব্যবহার করা হয়েছে এবং প্রশিক্ষণ বা অনুমানের জন্য গ্রাফ নয়।) EvalSavedModel এ অতিরিক্ত তথ্য রয়েছে যা TFMA-কে মডেলে সংজ্ঞায়িত একই মূল্যায়ন মেট্রিকগুলিকে বিপুল পরিমাণ ডেটা এবং ব্যবহারকারীর দ্বারা সংজ্ঞায়িত করার মাধ্যমে গণনা করতে দেয়। টুকরা

একটি বিদ্যমান মডেল পরিবর্তন করুন

TFMA এর সাথে একটি বিদ্যমান মডেল ব্যবহার করতে, প্রথমে EvalSavedModel রপ্তানি করতে মডেলটি পরিবর্তন করুন। এটি tfma.export.export_eval_savedmodel এ একটি কল যোগ করে করা হয় এবং এটি estimator.export_savedmodel এর মতো। উদাহরণ স্বরূপ:

# Define, train and export your estimator as usual
estimator = tf.estimator.DNNClassifier(...)
estimator.train(...)
estimator.export_savedmodel(...)

# Also export the EvalSavedModel
tfma.export.export_eval_savedmodel(
  estimator=estimator, export_dir_base=export_dir,
  eval_input_receiver_fn=eval_input_receiver_fn)

eval_input_receiver_fn অবশ্যই সংজ্ঞায়িত করতে হবে এবং estimator.export_savedmodel এর জন্য serving_input_receiver_fn এর অনুরূপ। serving_input_receiver_fn এর মতো, eval_input_receiver_fn ফাংশন একটি ইনপুট স্থানধারক উদাহরণকে সংজ্ঞায়িত করে, উদাহরণ থেকে বৈশিষ্ট্যগুলিকে পার্স করে এবং পার্স করা বৈশিষ্ট্যগুলি ফেরত দেয়। এটি পার্স এবং লেবেল ফেরত.

নিম্নলিখিত স্নিপেট একটি উদাহরণ সংজ্ঞায়িত করে eval_input_receiver_fn :

country = tf.feature_column.categorical_column_with_hash('country', 100)
language = tf.feature_column.categorical_column_with_hash('language', 100)
age = tf.feature_column.numeric_column('age')
label = tf.feature_column.numeric_column('label')

def eval_input_receiver_fn():
  serialized_tf_example = tf.compat.v1.placeholder(
      dtype=tf.string, shape=[None], name='input_example_placeholder')

  # This *must* be a dictionary containing a single key 'examples', which
  # points to the input placeholder.
  receiver_tensors = {'examples': serialized_tf_example}

  feature_spec =  tf.feature_column.make_parse_example_spec(
      [country, language, age, label])
  features = tf.io.parse_example(serialized_tf_example, feature_spec)

  return tfma.export.EvalInputReceiver(
    features=features,
    receiver_tensors=receiver_tensors,
    labels=features['label'])

এই উদাহরণে আপনি দেখতে পারেন যে:

  • labels একটি অভিধান হতে পারে. একটি বহুমুখী মডেলের জন্য দরকারী।
  • eval_input_receiver_fn ফাংশন, সম্ভবত, আপনার serving_input_receiver_fn ফাংশনের মতই হবে। কিন্তু, কিছু ক্ষেত্রে, আপনি স্লাইস করার জন্য অতিরিক্ত বৈশিষ্ট্য সংজ্ঞায়িত করতে চাইতে পারেন। উদাহরণ স্বরূপ, আপনি একটি age_category বৈশিষ্ট্য প্রবর্তন করেছেন যা age বৈশিষ্ট্যকে একাধিক বালতিতে ভাগ করে। তারপরে আপনি বিভিন্ন বয়সের শ্রেণীতে আপনার মডেলের পারফরম্যান্স কীভাবে আলাদা তা বোঝার জন্য TFMA-তে এই বৈশিষ্ট্যটি স্লাইস করতে পারেন।

পোস্ট এক্সপোর্ট মেট্রিক্স যোগ করা হচ্ছে

মডেলে অন্তর্ভুক্ত নয় এমন অতিরিক্ত মেট্রিক add_metrics_callbacks ব্যবহার করে যোগ করা যেতে পারে। আরও বিস্তারিত জানার জন্য, run_model_analysis এর জন্য Python সহায়তা দেখুন।

এন্ড-টু-এন্ড উদাহরণ

ফিচার প্রিপ্রসেসিংয়ের জন্য টেনসরফ্লো ট্রান্সফর্ম , প্রশিক্ষণের জন্য টেনসরফ্লো এস্টিমেটর , মূল্যায়নের জন্য টেনসরফ্লো মডেল অ্যানালাইসিস এবং জুপিটার এবং পরিবেশনের জন্য টেনসরফ্লো সার্ভিং সহ বিস্তৃত এন্ড-টু-এন্ড উদাহরণ চেষ্টা করুন।

একটি কাস্টম পোস্ট এক্সপোর্ট মেট্রিক যোগ করা হচ্ছে

আপনি যদি TFMA-তে আপনার নিজস্ব কাস্টম পোস্ট এক্সপোর্ট মেট্রিক যোগ করতে চান, দয়া করে এখানে ডকুমেন্টেশন চেকআউট করুন।