A Flask and TensorFlow-powered project for interactive neural network training.
- Introduction
- Features
- Technologies Used
- Project Structure
- Setup and Installation
- How to Use
- Screenshots
- Contributing
- License
This project is a web application developed with Flask for the frontend and TensorFlow as the backend to train neural networks interactively. Users can upload datasets, configure model parameters, launch training, and visualize results with real-time graphs. The application offers flexibility for users to experiment with various architectures and hyperparameters.
- Data Upload: Supports CSV files and image datasets.
- Model Configuration:
- Set the number and type of layers (Dense, Convolutional, etc.).
- Choose activation functions, learning rate, and other hyperparameters.
- Training Visualization: Real-time display of loss and accuracy curves using dynamic plots.
- Model Download: Download trained models for future use.
- Simple and Intuitive UI: Built with HTML, CSS, and JavaScript for smooth user experience.
- Backend: Flask, TensorFlow
- Frontend: HTML, CSS, JavaScript, Bootstrap (optional for styling)
- Visualization: Matplotlib, Plotly
- Data Handling: Pandas
project-root/
│
├── app.py # Main Flask application
├── templates/ # HTML templates for the UI
├── static/ # CSS, JS, and other static files
├── models/ # Saved trained models
├── data/ # Uploaded datasets
├── requirements.txt # Project dependencies
└── README.md # Documentation
-
Clone the repository:
git clone https://github.com/SOUHAIB-IA/CNN-Web-APP.git cd neural-network-training-app -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
The application will be available at
http://127.0.0.1:5000.
-
Upload Data:
- Use the "Upload Data" button to upload CSV or image datasets.
-
Configure the Neural Network:
- Specify the number of layers, types of layers, activation functions, learning rate, etc.
-
Start Training:
- Click on "Start Training" to begin the process.
- Monitor the training progress through real-time graphs displaying loss and accuracy.
-
Download Model:
- After training completes, download the model as a
.h5file for further use.
- After training completes, download the model as a
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit:
git commit -m "Added new feature" - Push to the branch:
git push origin feature-branch
- Open a pull request on GitHub.
This project is licensed under the ENSIASD License -.
