Skip to content
/ FlowModel Public template

FlowModel is a lightweight and extensible machine learning framework designed for beginners to easily experiment with AI development through a modular plugin architecture.

License

Notifications You must be signed in to change notification settings

LunaStev/FlowModel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Introduction
  2. Installation
  3. Directory Structure
  4. Usage
  5. Creating Plugins
  6. Command-Line Interface
  7. Contributing
  8. 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

  1. Clone the repository:

    git clone https://github.com/LunaStev/FlowModel.git
    cd FlowModel
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # For Unix/MacOS
    .venv\Scripts\activate   # For Windows
  3. 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:

  1. Create a new Python file in the plugins/ directory:

    plugins/my_plugin.py
  2. 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.")
  3. Use your plugin during training: When main.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:

  1. Fork the repository.
  2. Create a new branch for your feature.
  3. Commit your changes and push them.
  4. Open a pull request.

License

FlowModel is released under the MPL-2.0 License. See LICENSE for details.


Happy experimenting with FlowModel! 🚀

About

FlowModel is a lightweight and extensible machine learning framework designed for beginners to easily experiment with AI development through a modular plugin architecture.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages