ट्रेनर टीएफएक्स पाइपलाइन घटक एक टेन्सरफ्लो मॉडल को प्रशिक्षित करता है।
ट्रेनर और टेंसरफ़्लो
ट्रेनर प्रशिक्षण मॉडल के लिए Python TensorFlow API का व्यापक उपयोग करता है।
अवयव
प्रशिक्षक लेता है:
- tf.प्रशिक्षण और मूल्यांकन के लिए प्रयुक्त उदाहरण।
- एक उपयोगकर्ता द्वारा प्रदान की गई मॉड्यूल फ़ाइल जो ट्रेनर तर्क को परिभाषित करती है।
- ट्रेन आर्ग्स और इवल आर्ग्स की प्रोटोबफ परिभाषा।
- (वैकल्पिक) स्कीमजेन पाइपलाइन घटक द्वारा बनाया गया एक डेटा स्कीमा और डेवलपर द्वारा वैकल्पिक रूप से बदला गया।
- (वैकल्पिक) अपस्ट्रीम ट्रांसफ़ॉर्म घटक द्वारा निर्मित ट्रांसफ़ॉर्म ग्राफ़।
- (वैकल्पिक) पूर्व-प्रशिक्षित मॉडल वार्मस्टार्ट जैसे परिदृश्यों के लिए उपयोग किए जाते हैं।
- (वैकल्पिक) हाइपरपैरामीटर, जो उपयोगकर्ता मॉड्यूल फ़ंक्शन को पास किया जाएगा। ट्यूनर के साथ एकीकरण का विवरण यहां पाया जा सकता है।
ट्रेनर उत्सर्जित करता है: अनुमान/सेवा के लिए कम से कम एक मॉडल (आमतौर पर SavedModelFormat में) और वैकल्पिक रूप से eval के लिए एक और मॉडल (आमतौर पर एक EvalSavenModel)।
हम मॉडल रीराइटिंग लाइब्रेरी के माध्यम से टीएफलाइट जैसे वैकल्पिक मॉडल प्रारूपों के लिए समर्थन प्रदान करते हैं। एस्टिमेटर और केरस दोनों मॉडलों को कैसे परिवर्तित करें, इसके उदाहरणों के लिए मॉडल रीराइटिंग लाइब्रेरी का लिंक देखें।
जेनेरिक ट्रेनर
जेनेरिक ट्रेनर डेवलपर्स को ट्रेनर घटक के साथ किसी भी TensorFlow मॉडल API का उपयोग करने में सक्षम बनाता है। TensorFlow Estimator के अलावा, डेवलपर्स 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
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
के साथ एक उदाहरण मॉड्यूल फ़ाइल है।
ध्यान दें कि यदि पाइपलाइन में ट्रांसफॉर्म घटक का उपयोग नहीं किया जाता है, तो ट्रेनर सीधे उदाहरणजेन से उदाहरण लेगा:
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))
अधिक विवरण ट्रेनर एपीआई संदर्भ में उपलब्ध हैं।