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