HashSlap-Summer-of-Code/ml-core
Build a Plugin-Based Architecture for ML Algorithm Extensions
开放
#13 创建于 2025年6月18日
Advancedenhancementhacktoberfesthssoc
仓库指标
- 星标
- (3 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
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.pyto manage discovery and registration of components. - Define base classes/interfaces like
BaseModel,BasePreprocessor, andBaseEvaluator. - 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.mdexplaining 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
.pyfiles in aplugins/folder. - Add YAML or JSON-based pipeline configuration for training workflows.
- Create a CLI command to list all available registered plugins.