ส่วนประกอบ Pusher ใช้เพื่อส่งโมเดลที่ได้รับการตรวจสอบแล้วไปยัง เป้าหมายการใช้งาน ในระหว่างการฝึกโมเดลหรือการฝึกซ้ำ ก่อนการติดตั้งใช้งาน Pusher อาศัยพรตั้งแต่หนึ่งรายการขึ้นไปจากส่วนประกอบการตรวจสอบความถูกต้องอื่นๆ เพื่อตัดสินใจว่าจะพุชโมเดลหรือไม่
- ผู้ประเมิน จะอวยพรโมเดลหากโมเดลที่ได้รับการฝึกใหม่ "ดีพอ" ที่จะผลักดันไปสู่การใช้งานจริง
- (ไม่บังคับ แต่แนะนำ) InfraValidator จะให้พรแก่โมเดล หากโมเดลนั้นสามารถให้บริการเชิงกลไกในสภาพแวดล้อมการใช้งานจริงได้
ส่วนประกอบ Pusher ใช้โมเดลที่ได้รับการฝึกอบรมในรูปแบบ SavedModel และสร้าง SavedModel เดียวกัน พร้อมด้วยข้อมูลเมตาการกำหนดเวอร์ชัน
การใช้ส่วนประกอบ Pusher
โดยทั่วไปส่วนประกอบไปป์ไลน์ Pusher นั้นง่ายต่อการปรับใช้และต้องการการปรับแต่งเพียงเล็กน้อย เนื่องจากงานทั้งหมดเสร็จสิ้นโดยส่วนประกอบ Pusher TFX รหัสทั่วไปมีลักษณะดังนี้:
pusher = Pusher(
model=trainer.outputs['model'],
model_blessing=evaluator.outputs['blessing'],
infra_blessing=infra_validator.outputs['blessing'],
push_destination=tfx.proto.PushDestination(
filesystem=tfx.proto.PushDestination.Filesystem(
base_directory=serving_model_dir)
)
)
ผลักดันโมเดลที่ผลิตจาก InfraValidator
(จากเวอร์ชัน 0.30.0)
InfraValidator ยังสามารถสร้าง InfraBlessing
artifact ที่มี โมเดลที่มีการ warmup และ Pusher ก็สามารถพุชมันได้เหมือนกับ Artifact Model
infra_validator = InfraValidator(
...,
# make_warmup=True will produce a model with warmup requests in its
# 'blessing' output.
request_spec=tfx.proto.RequestSpec(..., make_warmup=True)
)
pusher = Pusher(
# Push model from 'infra_blessing' input.
infra_blessing=infra_validator.outputs['blessing'],
push_destination=tfx.proto.PushDestination(...)
)
รายละเอียดเพิ่มเติมมีอยู่ใน ข้อมูลอ้างอิง Pusher API