Releases: LunaStev/FlowModel
v1
FlowModel
FlowModel is a lightweight and extensible machine learning framework designed for beginners who want to explore AI development. With its modular plugin-based architecture, users can easily extend its functionality while keeping the core simple and maintainable.
Table of Contents
- Introduction
- Installation
- Directory Structure
- Usage
- Creating Plugins
- Command-Line Interface
- Contributing
- License
Introduction
FlowModel provides a simple entry point for experimenting with AI and machine learning. It allows users to start with a minimal framework and extend it by creating and adding plugins. The framework is designed to focus on simplicity, modularity, and extensibility.
Installation
Prerequisites
- Python 3.8 or higher
pip
package manager
Steps
-
Clone the repository:
git clone https://github.com/LunaStev/FlowModel.git cd FlowModel
-
Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # For Unix/MacOS .venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
Directory Structure
FlowModel/
├── main.py # Entry point for the application
├── plugins/ # Directory for plugins
│ ├── __init__.py # Initializes the plugin package
│ ├── example_plugin.py # Example plugin
├── data/ # Placeholder for datasets
├── requirements.txt # Python dependencies
Usage
Training a Model
To train a model using FlowModel, run:
python main.py train
This will load any available plugins from the plugins/
directory and apply their logic during the training process.
Adding Plugins
To add a plugin, place a .py
file with your plugin class in the plugins/
directory. FlowModel automatically detects and loads plugins at runtime.
Creating Plugins
Plugins extend the functionality of FlowModel. To create a plugin:
-
Create a new Python file in the
plugins/
directory:plugins/my_plugin.py
-
Define your plugin class:
class MyPlugin: def __init__(self): print("MyPlugin initialized.") def modify_model(self, model): print("MyPlugin: Modifying the model.") return model def on_train_start(self): print("MyPlugin: Training started.") def on_train_end(self): print("MyPlugin: Training finished.")
-
Use your plugin during training:
Whenmain.py
runs, it automatically loads your plugin and calls its methods.
Command-Line Interface
FlowModel includes a simple CLI for interacting with the framework.
Commands
- Train: Start the training process with plugins.
python main.py train
Contributing
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature.
- Commit your changes and push them.
- Open a pull request.
License
FlowModel is released under the MPL-2.0 License. See LICENSE for details.
Happy experimenting with FlowModel! 🚀