Skip to content

๐Ÿง  NeuroForge is an intuitive drag-and-drop tool for building and training neural networks, featuring data preprocessing, interactive visualizations, and automated model architecture design. Built with PyTorch and Streamlit, it simplifies the deep learning workflow from data preparation to model deployment with GPU acceleration support.

Notifications You must be signed in to change notification settings

RAHAMNIabdelkaderseifelislem/NeuroForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

NeuroForge (Beta) ๐Ÿš€

Build neural networks with ease! ๐Ÿง โœจ

NeuroForge is an intuitive tool for data preprocessing, analysis, visualization, and neural network creation using a drag-and-drop interface. This beta version provides core functionality while maintaining room for expansion.

โœจ Features (Beta)

  • Data Processing ๐Ÿ“Š

    • CSV and Excel file upload support
    • Basic data preprocessing capabilities
    • Data preview and basic statistics
  • Data Visualization ๐Ÿ“ˆ

    • Automated histogram generation for numerical columns
    • Interactive plots using Plotly
    • Basic data insights
  • Neural Network Builder ๐Ÿง 

    • Drag-and-drop interface for network creation
    • Support for basic PyTorch layers:
      • Linear layers
      • Convolutional layers (Conv2d)
    • CUDA support for GPU acceleration (when available) โšก

๐Ÿš€ Installation

# Clone the repository
git clone https://github.com/RAHAMNIabdelkaderseifelislem/neuroforge.git
cd neuroforge

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

๐ŸŽฎ Usage

  1. Start the application:
streamlit run app.py
  1. Access the web interface at http://localhost:8501

  2. Upload your dataset and follow the intuitive UI to:

    • Process and visualize your data ๐Ÿ“Š
    • Create neural network architectures ๐Ÿง 
    • Configure and train your models โšก

๐Ÿ“ Project Structure

neuroforge/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ data_processor.py
โ”‚   โ”‚   โ”œโ”€โ”€ model_builder.py
โ”‚   โ”‚   โ””โ”€โ”€ model_trainer.py
โ”‚   โ””โ”€โ”€ ui/
โ”‚       โ””โ”€โ”€ app.py
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

๐Ÿ—๏ธ Architecture

NeuroForge follows clean architecture principles and design patterns:

  • Factory Pattern ๐Ÿญ: Used for layer creation
  • Builder Pattern ๐Ÿ”จ: Implements neural network construction
  • Strategy Pattern ๐ŸŽฏ: Handles different data processing approaches
  • Dependency Injection ๐Ÿ’‰: Manages component dependencies

โš ๏ธ Limitations (Beta)

  • Limited layer types available
  • Basic visualization options
  • Simple data preprocessing capabilities
  • Training functionality is limited

๐Ÿ—บ๏ธ Roadmap

  • Add more PyTorch layer types
  • Enhance visualization capabilities
  • Implement advanced data preprocessing
  • Add model export in various formats
  • Improve UI/UX
  • Add comprehensive testing suite

๐Ÿค Contributing

This is a beta version and contributions are welcome! Please feel free to submit issues and pull requests.

๐Ÿ“œ License

MIT License - see LICENSE file for details


Built by AbdEl Kader Seif El Islem RAHMANI

About

๐Ÿง  NeuroForge is an intuitive drag-and-drop tool for building and training neural networks, featuring data preprocessing, interactive visualizations, and automated model architecture design. Built with PyTorch and Streamlit, it simplifies the deep learning workflow from data preparation to model deployment with GPU acceleration support.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages