การสร้าง Python Class แบบกำหนดเอง
MLflow มีวิธีสร้างโมเดลแบบกำหนดเองเพื่อรองรับกรณีการใช้งานที่หลากหลาย โดย MLflow อนุญาตให้สร้าง Python Class ที่สืบทอดจาก mlflow.pyfunc.PythonModel Class ซึ่ง PythonModel Class ช่วยให้ปรับแต่งได้โดยมีเมธอดสำหรับ inference logic แบบกำหนดเองและการจัดการ artifact dependencies
ในแบบฝึกหัดนี้ จะสร้าง Python Class ใหม่สำหรับโมเดลแบบกำหนดเองที่โหลดโมเดลที่ระบุ แล้วถอดรหัส label หลังจาก inference โดยจะมีการ import โมดูล mlflow ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
MLflow เบื้องต้น
คำแนะนำการฝึกหัด
- สร้าง Python Class ชื่อ
CustomPredict - กำหนดเมธอด
load_context()ที่ใช้สำหรับโหลด artifact ภายใน Class แบบกำหนดเอง - กำหนดเมธอด
predict()สำหรับกำหนด inference แบบกำหนดเอง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create Python Class
class ____(mlflow.pyfunc.PythonModel):
# Set method for loading model
def ____(self, context):
self.model = mlflow.sklearn.load_model("./lr_model/")
# Set method for custom inference
def ____(self, context, model_input):
predictions = self.model.predict(model_input)
decoded_predictions = []
for prediction in predictions:
if prediction == 0:
decoded_predictions.append("female")
else:
decoded_predictions.append("male")
return decoded_predictions