Yardım Kaggle üzerinde TensorFlow ile Büyük Bariyer Resifi korumak Meydan Üyelik

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

Trainer, eğitim modelleri için Python TensorFlow API'sini kapsamlı bir şekilde kullanır.

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ı.
  • Tren argümanlarının ve değerlendirme argümanlarının protobuf 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 entegrasyonun ayrıntılarını burada bulabilirsiniz .

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

Model Yeniden Yazma Kitaplığı aracılığıyla TFLite gibi alternatif model biçimleri için destek sağlıyoruz. 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 genel eğitmen için RFC'ye bakın.

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

Trainer, module_file parametresinde belirtilen bir eğitim modülünü çağırır. Yerine trainer_fn , bir run_fn eğer modül dosyasında gereklidir GenericExecutor belirtilen custom_executor_spec . Modeli oluşturmaktan trainer_fn sorumluydu. Buna ek olarak, run_fn eğitim bölümünü de ele alması ve eğitilmiş modeli FnArgs tarafından verilen istenen konuma çıktılaması gerekir :

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 run_fn ileörnek bir modül dosyası .

Dönüştürme bileşeni boru hattında kullanılmazsa, 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))

Trainer API referansında daha fazla ayrıntı mevcuttur.