HashSlap-Summer-of-Code/ml-core

Build a Plugin-Based Architecture for ML Algorithm Extensions

Ouverte

#13 ouverte le 18 juin 2025

 (0 commentaire) (0 réaction) (0 personne assignée)Jupyter Notebook (11 forks)auto 404
Advancedenhancementhacktoberfesthssoc

Métriques du dépôt

Stars
 (3 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Description:
Refactor the repository to follow a plugin-based architecture where models, preprocessors, and evaluators can be plugged in dynamically. This makes the project scalable and flexible for advanced experimentation.

Expected Tasks:

  • Create a plugin_registry.py to manage discovery and registration of components.
  • Define base classes/interfaces like BaseModel, BasePreprocessor, and BaseEvaluator.
  • Add a decorator or registration function to auto-register components into a central registry.
  • Refactor at least three models (e.g., KNN, Perceptron, Naive Bayes) to follow the plugin system.
  • Provide a dynamic way to load and instantiate registered models by name or type.
  • Update training scripts to use models through the registry instead of hardcoded imports.
  • Write a guide in docs/PLUGIN_GUIDE.md explaining how to create and register a new plugin.
  • Add error handling and graceful failure if a plugin is missing or incompatible.

Stretch Tasks:

  • Allow loading plugins from external .py files in a plugins/ folder.
  • Add YAML or JSON-based pipeline configuration for training workflows.
  • Create a CLI command to list all available registered plugins.

Guide contributeur