إنتقل إلى المحتوى الرئيسي

الفصل 1: أتمتة خطوط أنابيب تعلم الآلة

GitHub Actions لتعلم الآلة​

# .github/workflows/ml-pipeline.yml
name: ML Training Pipeline

on:
push:
branches: [main]
paths:
- 'src/**'
- 'data/**'
schedule:
- cron: '0 0 * * 0' # Weekly

jobs:
train:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install dependencies
run: pip install -r requirements.txt

- name: Pull data with DVC
run: dvc pull
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}

- name: Train model
run: python src/train.py

- name: Evaluate model
run: python src/evaluate.py

- name: Model validation gate
run: |
python -c "
import json
with open('metrics.json') as f:
metrics = json.load(f)
assert metrics['auc_roc'] > 0.85, 'Model did not meet AUC threshold'
"

- name: Push model to registry
if: success()
run: python src/register_model.py

التالي: الفصل 2: اختبار أنظمة تعلم الآلة