مكون خط أنابيب TFX المدرب

يقوم مكون خط أنابيب Trainer TFX بتدريب نموذج TensorFlow.

المدرب و TensorFlow

مدرب يجعل الاستخدام المكثف للبيثون TensorFlow API لنماذج التدريب.

مكون

يأخذ المدرب:

  • tf أمثلة مستخدمة للتدريب والتقييم.
  • قدم المستخدم ملف وحدة نمطية يحدد منطق المدرب.
  • Protobuf تعريف وسائط القطار وسائط حدة التقييم.
  • (اختياري) مخطط بيانات تم إنشاؤه بواسطة مكون خط أنابيب SchemaGen وتم تعديله اختياريًا بواسطة المطور.
  • (اختياري) رسم بياني للتحويل ينتج عن مكون تحويل علوي.
  • (اختياري) النماذج المدربة مسبقًا والمستخدمة لسيناريوهات مثل Warmstart.
  • (اختياري) المعلمات الفائقة ، والتي سيتم تمريرها إلى وظيفة وحدة المستخدم. تفاصيل التكامل مع موالف يمكن العثور عليها هنا .

يُصدر المدرب: نموذج واحد على الأقل للاستدلال / العرض (عادةً في SavedModelFormat) ونموذج آخر اختياريًا للتقييم (عادةً نموذج EvalSavedModel).

ونحن نقدم الدعم لتنسيقات نموذج بديلة مثل TFLite من خلال مكتبة إعادة كتابة نموذج . انظر الرابط إلى Model Rewriting Library للحصول على أمثلة حول كيفية تحويل كل من نماذج Estimator و Keras.

مدرب عام

يتيح المدرب العام للمطورين استخدام أي نموذج TensorFlow API مع مكون المدرب. بالإضافة إلى TensorFlow Estimators ، يمكن للمطورين استخدام نماذج Keras أو حلقات تدريب مخصصة. لمزيد من التفاصيل، يرجى الاطلاع على RFC للمدرب عام .

تكوين مكون المدرب

سيبدو رمز خط الأنابيب النموذجي DSL للمدرب العام كما يلي:

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 المعلمة. بدلا من 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 المدرب .