กรอบวิศวกรรมซอฟต์แวร์เพื่อกระโดดเริ่มโครงการเรียนรู้ของเครื่องของคุณ

สามารถเข้าถึงเอกสารฉบับเต็มได้ที่นี่
คุณสามารถติดตั้ง LOLPOP จาก PYPI โดยใช้ pip :
pip install lolpop หากคุณทำงานในโหมด Dev คุณสามารถโคลน repo นี้และติดตั้ง lolpop โดย cd 'ing ไปยังไดเรกทอรีนี้และการดำเนินการ:
poetry install ยินดีต้อนรับสู่ LOLPOP!
LOLPOP เป็นกรอบวิศวกรรมซอฟต์แวร์สำหรับเวิร์กโฟลว์การเรียนรู้ของเครื่อง
เป้าหมายที่ครอบคลุมคือการจัดเตรียมกรอบการทำงานที่สามารถช่วยรวมวิทยาศาสตร์ข้อมูลและทีมงานวิศวกรรมการเรียนรู้ของเครื่องจักร เราเชื่อโดยการสร้างกรอบมาตรฐานสำหรับงานการเรียนรู้ของเครื่องที่ทีมสามารถทำงานร่วมกันได้อย่างหมดจดและมีประสิทธิผลมากขึ้น
การออกแบบระบบที่ดีมีความสำคัญในการพัฒนาซอฟต์แวร์และ LOLPOP พยายามทำตามหลักการต่อไปนี้ การออกแบบระบบที่ดีจะมี:
นอกจากนี้เป้าหมายต่อไปนี้ถูกเก็บไว้ในใจเมื่อสร้าง LOLPOP:
LOLPOP มีรูปแบบแนวคิดที่ค่อนข้างแบนซึ่งมีทรัพยากรหลักสามแหล่งที่จะเข้าใจ:
train_model วิธีนี้จะรู้วิธีการใช้ข้อมูลที่เข้ามาฝึกอบรมโมเดลหรือชุดของรุ่นรุ่นรุ่นเหล่านั้นและส่งคืนโมเดลที่ชนะ วิธีนี้จะทำงานได้ในหลาย ๆ ส่วนประกอบเช่นตัวเข้ารหัสคุณลักษณะผู้ฝึกสอนโมเดลเครื่องรับสัญญาณไฮเปอร์พารามิเตอร์ตัวติดตามข้อมูลเมตาและระบบควบคุมเวอร์ชันทรัพยากรส่วนประกอบท่อและนักวิ่งมีลักษณะทั่วไปมากมาย เราใช้คำว่า การรวม เมื่ออ้างถึงชุดของส่วนประกอบท่อและนักวิ่ง
นอกจากนี้ยังมีลำดับชั้นตามธรรมชาติระหว่างส่วนประกอบท่อและนักวิ่ง:
LOLPOP มีเวิร์กโฟลว์การพัฒนาที่ตรงไปตรงมา เราหวังว่าทุกคนจะพบว่ามันน่ายินดีที่ได้ใช้!
ขั้นแรก: เขียนส่วนประกอบของคุณเองหรือใช้ส่วนที่สร้างไว้ล่วงหน้า:
from lolpop . comonent import BaseComponent
from catboost import CatBoostRegressor , CatBoostClassifier
class CatboostModelTrainer ( BaseComponent ):
def __init__ ( problem_type = None , params = {}, * args , ** kwargs ):
super (). __init__ ( * args , ** kwargs )
if problem_type == "classification" :
self . model = CatBoostClassifier ( ** params )
elif problem_type == "regression" :
self . model = CatBoostRegressor ( ** params )
def fit ( self , data , * args , ** kwargs ):
self . model . fit ( data [ "X_train" ], data [ "y_train" ])
return self . model
... ส่วนประกอบสามารถใช้ประโยชน์ได้ในงานท่อและเวิร์กโฟลว์นักวิ่ง แทนที่จะอ้างถึงคลาสส่วนประกอบเฉพาะเวิร์กโฟลว์เหล่านี้ได้รับการออกแบบให้ใช้ประเภทส่วนประกอบทั่วไปดังที่แสดงด้านล่าง
from lolpop . pipeline import BasePipeline
class MyTrainingPipeline ( BasePipeline ):
...
def train_model ( self , data , * args , ** kwargs ):
model = self . model_trainer . train_model ( data )
return model
...จากนั้นเราจะกำหนดค่าคลาสที่จะใช้ในการกำหนดค่าไปป์ไลน์และนักวิ่งของเราดังที่แสดงด้านล่าง:
# runner config
pipeline :
train : MyTrainingPipeline
...
# pipelines config
train :
component :
model_trainer : CatBoostTrainer
model_trainer :
config :
training_params :
iterations : 2
depth : 2
learning_rate : 1
loss_function : RMSE
...
ในที่สุดเวิร์กโฟลว์สามารถเรียกใช้ผ่านรหัส Python:
from lolpop . extension import MyRunner
config_file = "/path/to/dev.yaml"
runner = MyRunner ( conf = config_file )
...
model = runner . train . train_model ( data )
... หรือผ่าน LOLPOP CLI:
lolpop run workflow MyRunner --config-file /path/to/dev.yamlหากคุณสนใจที่จะสร้างเวิร์กโฟลว์ของคุณเองเป็นความคิดที่ดีที่จะตรวจสอบตัวอย่างบางอย่างที่ให้ไว้และตรวจสอบกรอบการทำงานของ Extensiblity
เรารู้สึกว่าระบบนิเวศของ ML ขาดเครื่องมือในการทำหน้าที่เป็นกาวระหว่างทุกสิ่งที่ต้องทำเพื่อให้ประสบความสำเร็จในการดำเนินการใช้กรณีการใช้งานการผลิต LOLPOP เป็นความพยายามที่จะเชื่อมช่องว่างนั้น - เป็นกาว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแรงบันดาลใจเบื้องหลัง LOLPOP โปรดอ่านบล็อกการเปิดตัวของเรา
บางครั้งการทำความเข้าใจว่าเครื่องมือไม่ได้เป็นอย่างไรเพื่อที่จะเข้าใจอย่างถ่องแท้ว่ามันคืออะไร คำอธิบาย 'เฟรมเวิร์กวิศวกรรมซอฟต์แวร์สำหรับเวิร์กโฟลว์การเรียนรู้ของเครื่อง' อาจเป็นป้านเล็กน้อยดังนั้นจึงอาจเป็นประโยชน์ในการเข้าใจสิ่งต่อไปนี้:
LOLPOP ไม่ใช่เครื่องมือ orchestration ในความเป็นจริงคุณควรใช้ Orchestrator เพื่อเรียกใช้รหัสที่คุณสร้างด้วย LOLPOP คุณควรจะสามารถรวมเครื่องมือ orchestration ของคุณเข้ากับ LOLPOP ได้อย่างง่ายดาย
LOLPOP ไม่ใช่เครื่องมือในการส่งท่อ มีเครื่องมือการวางท่อที่ดีหลายอย่างและคุณอาจต้องการใช้กับ LOLPOP ตัวอย่างเช่นเรามีตัวอย่างของการใช้ metaflow กับ lolpop สำหรับผู้ที่มีความโน้มเอียง
LOLPOP ไม่ใช่ตัวติดตามข้อมูลเมตาแพลตฟอร์มการฝึกอบรมผู้ฝึกทดลอง ฯลฯ เราคิดว่าคุณควรมีและใช้สิ่งเหล่านี้หากคุณต้องการ LOLPOP ยินดีที่จะมีส่วนประกอบเหล่านั้นและให้คุณสร้างมันเป็นเวิร์กโฟลว์ของคุณ
LOLPOP ไม่ได้ทำอะไรเลย มันช่วยให้คุณเขียนเวิร์กโฟลว์ ML ได้ดีขึ้นเร็วขึ้น ไม่ได้รับการผ่าตัดเกี่ยวกับเครื่องมือที่คุณใช้ในการทำเช่นนั้น
QuickStart: ไปที่นี่เพื่อหาคู่มือ QuickStart เรียนรู้วิธีการติดตั้ง LOLPOP และเปิดใช้งาน เรียกใช้เวิร์กโฟลว์ครั้งแรกของคุณเต้นรำและเฉลิมฉลอง!
คู่มือผู้ใช้: ไปที่นี่เพื่อเรียนรู้วิธีการทำงานกับ LOLPOP
การบูรณาการ: ไปที่นี่เพื่อเรียนรู้เกี่ยวกับนักวิ่งที่สร้างไว้ล่วงหน้าท่อและส่วนประกอบที่คุณสามารถใช้เพื่อสร้างเวิร์กโฟลว์ของคุณเอง
ส่วนขยาย: ไปที่นี่เพื่อเรียนรู้ทุกสิ่งที่คุณต้องทำเพื่อเริ่มสร้างนักวิ่งท่อและส่วนประกอบของคุณเอง
CLI: ไปที่นี่เพื่อเรียนรู้วิธีใช้อินเตอร์เฟสบรรทัดคำสั่ง LOLPOP
ตัวอย่าง: ไปที่นี่เพื่อค้นหาตัวอย่างของการใช้ LOLPOP
ทรัพยากร: ไปที่นี่เพื่อค้นหาวิธีติดต่อกับทีม LOLPOP ซึ่งมีส่วนร่วมใน LOLPOP ฯลฯ