إطار هندسة البرمجيات لبدء مشاريع تعلم الآلة الخاصة بك

يمكن الوصول إلى الوثائق الكاملة هنا.
يمكنك تثبيت LOLPOP من PYPI باستخدام pip :
pip install lolpop إذا كنت تعمل في وضع dev ، فيمكنك استنساخ هذا الريبو وتثبيت LOLPOP عن طريق cd المضغوط على هذا الدليل والتنفيذ:
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إذا كنت مهتمًا ببناء مهام سير العمل الخاصة بك ، فمن الجيد أن ننظر في بعض الأمثلة المقدمة وأيضًا النظر في إطار التمديد
لقد شعرنا منذ فترة طويلة أن النظام البيئي ML يفتقر إلى أداة للعمل كغراء بين جميع الأشياء المختلفة التي يحتاج المرء إلى القيام بها من أجل تنفيذ حالة استخدام الإنتاج بنجاح. LOLPOP هي محاولة لسد تلك الفجوة - لتكون تلك الغراء. لمزيد من المعلومات حول الإلهام وراء LOLPOP ، يرجى قراءة مدونة الإطلاق الخاصة بنا.
في بعض الأحيان يكون من المفيد فهم ما هي الأداة من أجل فهم ماهية تمامًا. يمكن أن يكون وصف "إطار عمل هندسة البرمجيات لسير عمل التعلم الآلي" منفرجًا بعض الشيء ، لذلك قد يكون من المفيد فهم ما يلي:
LOLPOP ليست أداة تزامن . في الواقع ، ربما يجب عليك استخدام Orchestrator لتشغيل الرمز الذي تقوم بإنشائه باستخدام LOLPOP. يجب أن تكون قادرًا على دمج أداة التزامن المفضلة لديك مع Lolpop.
LOLPOP ليس أداة أنابيب . هناك العديد من أدوات خطوط الأنابيب الجيدة الموجودة هناك وقد ترغب في استخدامها مع LOLPOP. على سبيل المثال ، لدينا مثال على استخدام MetaFlow مع Lolpop ، لأولئك الذين يميلون إلى هذا الحد.
LOLPOP ليس متعقب بيانات التعريف ، ومنصة التدريب ، وتجريب التجربة ، وما إلى ذلك. نعتقد أنه يجب أن يكون لديك واستخدامها إذا كنت ترغب في ذلك. سيكون LOLPOP سعيدًا بوجودها كمكونات وتتيح لك أن تبنيها في سير العمل الخاص بك.
LOLPOP لا يفعل أي شيء حقًا ، فهو يساعدك بشكل أساسي على كتابة مهام سير عمل أفضل ، بشكل أسرع. إنه أمر غير معقول حول الأدوات التي تستخدمها للقيام بذلك.
QuickStart: اذهب هنا للحصول على دليل QuickStart. تعلم كيفية تثبيت LOLPOP والحصول عليها وتشغيلها. قم بتشغيل أول سير العمل والرقص والاحتفال!
دليل المستخدم: انتقل هنا لمعرفة كيفية العمل مع Lolpop.
التكامل: انتقل إلى هنا للتعرف على عداء ومراكز الأنابيب والمكونات التي يمكنك استخدامها لإنشاء سير العمل الخاص بك.
الإضافات: انتقل إلى هنا لمعرفة كل ما تحتاج إلى القيام به لبدء بناء المتسابقين وخطوط الأنابيب والمكونات.
CLI: انتقل هنا لمعرفة كيفية استخدام واجهة سطر الأوامر LOLPOP.
أمثلة: اذهب هنا للعثور على بعض الأمثلة على استخدام LOLPOP.
الموارد: انتقل إلى هنا لمعرفة كيفية الاتصال بفريق LOLPOP ، والمساهمة في LOLPOP ، إلخ.