جزء Trainer TFX Pipeline

جزء خط لوله Trainer TFX یک مدل TensorFlow را آموزش می دهد.

ترینر و تنسورفلو

ترینر باعث استفاده گسترده از پایتون TensorFlow API برای مدل های آموزش.

مولفه

مربی می گیرد:

  • tf. مثال هایی که برای آموزش و ارزیابی استفاده می شوند.
  • یک فایل ماژول ارائه شده توسط کاربر که منطق مربی را تعریف می کند.
  • Protobuf تعریف استدلال قطار و استدلال محاسبه-.
  • (اختیاری) یک طرح داده ایجاد شده توسط یک جزء خط لوله SchemaGen و به صورت اختیاری توسط توسعه دهنده تغییر می کند.
  • (اختیاری) تبدیل گراف تولید شده توسط یک جزء Transform بالادست.
  • (اختیاری) مدل های از پیش آموزش دیده مورد استفاده برای سناریوهایی مانند شروع گرم.
  • هایپرپارامترهای (اختیاری)، که به تابع ماژول کاربر ارسال می شود. جزئیات ادغام با رادیو را می توان یافت در اینجا .

Trainer منتشر می کند: حداقل یک مدل برای استنتاج/خدمت (معمولاً در SavedModelFormat) و به صورت اختیاری مدل دیگری برای eval (معمولاً EvalSavedModel).

ما با ارائه پشتیبانی از فرمت های مدل دیگر همچون TFLite از طریق بازنویسی کتابخانه مدل . برای نمونه هایی از نحوه تبدیل هر دو مدل تخمینگر و کراس، به پیوند کتابخانه بازنویسی مدل مراجعه کنید.

مربی عمومی

Generic trainer توسعه دهندگان را قادر می سازد تا از هر API مدل TensorFlow با جزء Trainer استفاده کنند. علاوه بر برآوردگرهای TensorFlow، توسعه‌دهندگان می‌توانند از مدل‌های Keras یا حلقه‌های آموزشی سفارشی استفاده کنند. برای جزئیات، لطفا به مشاهده RFC برای Generic مربی .

پیکربندی کامپوننت Trainer

کد DSL خط لوله معمولی برای Trainer عمومی به شکل زیر است:

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 .

توجه داشته باشید که اگر کامپوننت Transform در خط لوله استفاده نشود، Trainer مثال‌ها را مستقیماً از 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 مرجع ترینر .