Trainer TFX Ardışık Düzen Bileşeni

Trainer TFX ardışık düzen bileşeni, bir TensorFlow modelini eğitir.

Eğitmen ve TensorFlow

Eğitmen Python geniş kullanımı yapar TensorFlow eğitim modelleri için API.

Bileşen

Eğitmen şunları alır:

  • tf.Eğitim ve değerlendirme için kullanılan örnekler.
  • Eğitmen mantığını tanımlayan, kullanıcı tarafından sağlanan bir modül dosyası.
  • Protobuf tren args ve eval args tanımı.
  • (İsteğe bağlı) Bir SchemaGen işlem hattı bileşeni tarafından oluşturulan ve isteğe bağlı olarak geliştirici tarafından değiştirilen bir veri şeması.
  • (İsteğe bağlı) bir yukarı akış Dönüşüm bileşeni tarafından üretilen dönüşüm grafiği.
  • (Opsiyonel) Isınma başlatma gibi senaryolar için kullanılan önceden eğitilmiş modeller.
  • (İsteğe bağlı) kullanıcı modülü işlevine geçirilecek hiperparametreler. Tuner ile bütünleşme Detayları bulunabilir burada .

Eğitmen şunları yayınlar: Çıkarım/sunma için en az bir model (genellikle SavedModelFormat'ta) ve isteğe bağlı olarak değerlendirme için başka bir model (tipik olarak bir EvalSavedModel).

Biz gibi alternatif bir model formatları için destek sağlamak TFLite aracılığıyla Modeli Yeniden Yazma Kütüphane . Hem Estimator hem de Keras modellerinin nasıl dönüştürüleceğine ilişkin örnekler için Model Yeniden Yazma Kitaplığı bağlantısına bakın.

Genel Eğitmen

Genel eğitici, geliştiricilerin Trainer bileşeniyle herhangi bir TensorFlow model API'sini kullanmasını sağlar. Geliştiriciler, TensorFlow Tahmincilerine ek olarak Keras modellerini veya özel eğitim döngülerini kullanabilir. Ayrıntılar için lütfen bkz jenerik eğitmen için RFC .

Eğitmen Bileşenini Yapılandırma

Genel Eğitmen için tipik ardışık düzen DSL kodu şöyle görünür:

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))

Eğitici belirtilen bir eğitim modülü, çağıran module_file parametresi. Yerine trainer_fn , bir run_fn eğer modül dosyasında gereklidir GenericExecutor belirtilen custom_executor_spec . trainer_fn modeli oluştururken sorumluydu. Buna ek olarak, run_fn da eğitim bölümünü ve çıkışı tarafından verilen bir istenen konuma eğitimli modeli işlemek gerekiyor 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, ...)

İşte bir olan örnek modül dosyası ile run_fn .

Transform bileşeninin ardışık düzende kullanılmaması durumunda, Eğitmen'in örnekleri doğrudan ExampleGen'den alacağını unutmayın:

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))

Daha fazla detay mevcuttur Eğitici API başvurusu .