SIG TFX-Addons समुदाय में शामिल हों और TFX को और बेहतर बनाने में मदद करें! SIG TFX-Addons में शामिल हों

ट्रेनर टीएफएक्स पाइपलाइन घटक

ट्रेनर TFX पाइपलाइन घटक एक TensorFlow मॉडल को प्रशिक्षित करता है।

ट्रेनर और टेंसरफ्लो

ट्रेनर प्रशिक्षण मॉडल के लिए Python TensorFlow API का व्यापक उपयोग करता है।

अंग

ट्रेनर लेता है:

  • tf. उदाहरण प्रशिक्षण और eval के लिए उपयोग किया जाता है।
  • एक उपयोगकर्ता ने मॉड्यूल फ़ाइल प्रदान की जो ट्रेनर तर्क को परिभाषित करती है।
  • ट्रेन आर्ग और eval args की प्रोटोबफ परिभाषा।
  • (वैकल्पिक) स्कीमाजेन पाइपलाइन घटक द्वारा बनाई गई और डेवलपर द्वारा वैकल्पिक रूप से परिवर्तित एक डेटा स्कीमा।
  • (वैकल्पिक) अपस्ट्रीम ट्रांसफ़ॉर्म घटक द्वारा निर्मित ट्रांसफ़ॉर्म ग्राफ़।
  • (वैकल्पिक) पूर्व-प्रशिक्षित मॉडल वार्मस्टार्ट जैसे परिदृश्यों के लिए उपयोग किए जाते हैं।
  • (वैकल्पिक) हाइपरपैरामीटर, जो उपयोगकर्ता मॉड्यूल फ़ंक्शन को पास किया जाएगा। ट्यूनर के साथ एकीकरण का विवरण यहां पाया जा सकता है

ट्रेनर उत्सर्जित करता है: अनुमान/सेवा के लिए कम से कम एक मॉडल (आमतौर पर SavedModelFormat में) और वैकल्पिक रूप से eval के लिए एक और मॉडल (आमतौर पर एक EvalSavedModel)।

हम मॉडल रीराइटिंग लाइब्रेरी के माध्यम से टीएफलाइट जैसे वैकल्पिक मॉडल प्रारूपों के लिए सहायता प्रदान करते हैं। अनुमानक और केरस मॉडल दोनों को कैसे परिवर्तित किया जाए, इसके उदाहरणों के लिए मॉडल पुनर्लेखन पुस्तकालय का लिंक देखें।

सामान्य प्रशिक्षक

जेनेरिक ट्रेनर डेवलपर्स को ट्रेनर घटक के साथ किसी भी TensorFlow मॉडल एपीआई का उपयोग करने में सक्षम बनाता है। TensorFlow अनुमानकों के अलावा, डेवलपर्स Keras मॉडल या कस्टम प्रशिक्षण लूप का उपयोग कर सकते हैं। विवरण के लिए, कृपया जेनेरिक ट्रेनर के लिए आरएफसी देखें।

ट्रेनर घटक का विन्यास

सामान्य ट्रेनर के लिए विशिष्ट पाइपलाइन डीएसएल कोड इस तरह दिखेगा:

from tfx.components import Trainer

...

trainer = Trainer(
    module_file=module_file,
    examples=transform.outputs['transformed_examples'],
    transform_graph=transform.outputs['transform_graph'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000))

ट्रेनर एक प्रशिक्षण मॉड्यूल को आमंत्रित करता है, जो module_file पैरामीटर में निर्दिष्ट है। यदि GenericExecutor को GenericExecutor में निर्दिष्ट किया गया है, तो custom_executor_spec trainer_fn बजाय, मॉड्यूल फ़ाइल में एक run_fn आवश्यक है। मॉडल बनाने के लिए trainer_fn जिम्मेदार था। इसके अलावा, run_fn को प्रशिक्षण भाग को संभालने और प्रशिक्षित मॉडल को FnArgs द्वारा दिए गए वांछित स्थान पर आउटपुट करने की भी आवश्यकता है:

from tfx.components.trainer.fn_args_utils import FnArgs

def run_fn(fn_args: FnArgs) -> None:
  """Build the TF model and train it."""
  model = _build_keras_model()
  model.fit(...)
  # Save model to fn_args.serving_model_dir.
  model.save(fn_args.serving_model_dir, ...)

यहाँ एकउदाहरण मॉड्यूल फ़ाइल है जिसमें run_fn

ध्यान दें कि यदि पाइपलाइन में ट्रांसफ़ॉर्म घटक का उपयोग नहीं किया जाता है, तो ट्रेनर सीधे exampleGen से उदाहरण लेगा:

trainer = Trainer(
    module_file=module_file,
    examples=example_gen.outputs['examples'],
    schema=infer_schema.outputs['schema'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000))

अधिक विवरण ट्रेनर एपीआई संदर्भ में उपलब्ध हैं।