Skip to content

This open-source project, "Custom_DL_Models," offers a diverse range of deep learning models, encouraging contributions and experimentation in neural network architectures and hyperparameter tuning.

License

Notifications You must be signed in to change notification settings

LokeshYarramallu/Custom_DL_Models

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Custom DL Models ๐Ÿง 


ACM-SIGAI-Amritapuri

PROJECT DESCRIPTION
Welcome to the Custom DL Models open-source repository, where you can unleash your creativity in deep learning! ๐Ÿš€ We support a variety of neural network architectures, including Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), Deep Neural Networks (DNN), Transformers, and innovative combinational networks. Users can upload their custom models, pretrained models with custom datasets, and dive into the world of hyperparameter tuning. Whether you're a PyTorch enthusiast or a TensorFlow devotee, we've got you covered! ๐Ÿ’ก

image


โœจContributors





GitHub issues GitHub stars GitHub forks

GitHub contributors GitHub Closed issues GitHub PR Open GitHub PR closed GitHub last commit GitHub Maintained Github Repo Size

Table of Contents ๐Ÿ“‘

  1. Project Overview
  2. Folder Structure
  3. Getting Started
  4. Custom Networks
  5. Hyperparameter Tuning
  6. Contributing

Project Overview ๐ŸŒŸ

Welcome to the Custom DL Models open-source repository, a collaborative initiative! This project is dedicated to the world of custom deep learning models and their applications. Our mission is to provide a platform for deep learning enthusiasts to explore, experiment, and innovate in the realm of neural networks.

Key Objectives:

Diverse Model Architectures: We offer a wide range of custom neural network architectures, including Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), Deep Neural Networks (DNN), Transformers, and innovative combinational networks. This diversity empowers users to tackle a variety of tasks.

Customization: Users can upload their custom models, pretrained models with custom datasets, and fine-tune them to meet their specific requirements. Whether you're a PyTorch enthusiast or a TensorFlow devotee, we've got you covered!

Hyperparameter Tuning: We encourage users to experiment with hyperparameters to optimize their models for performance. Our repository provides guidance on key hyperparameters such as weight initialization, dropout, data augmentation, early stopping, ensemble methods, and more.

By sharing our collective knowledge and experience, we aim to foster a vibrant deep learning community and advance the field together. Whether you're a seasoned AI researcher or just getting started, you'll find valuable resources and opportunities to contribute to the project.

Join us on this exciting journey of creativity and innovation in deep learning! ๐Ÿš€

Folder Structure ๐Ÿ“‚

The repository follows a specific structure to organize the custom models and their associated resources. The main project is stored in a folder named after the project name, and within that folder, you can find the following:

  • README.md: This file provides detailed information about the project, its content, and the methods applied for hyperparameter tuning.

  • Source Code: All code related to the project is stored in a dedicated directory.

  • Datasets: The datasets used for training and testing the custom models are included here.

  • Images: ๐Ÿ“ท This folder contains images and diagrams illustrating the custom networks used.

  • Training and Testing: Code and scripts for training and testing the models can be found here.

Getting Started ๐Ÿš€

Prerequisites:

Before diving in, make sure you have the following prerequisites in place:

Python: You'll need Python installed on your system. We recommend using Python 3.x.

Deep Learning Framework: Depending on your preference, you can choose either PyTorch or TensorFlow as your deep learning framework. Ensure you have the framework installed.

Git: If you haven't already, install Git on your system to clone the repository and collaborate with us.

You can also start doing your project on a venv

Custom Networks ๐Ÿงฌ

In this repository, you'll find a diverse collection of custom deep learning networks to cater to a wide range of tasks and applications. Our custom networks cover various architectural paradigms and use cases, making it a valuable resource for deep learning enthusiasts. Here's an overview of the different types of custom networks available:

Convolutional Neural Networks (CNN): Description: CNNs are well-suited for image-related tasks, such as image classification, object detection, and segmentation. They excel at capturing local patterns and features within images. Use Cases: Image classification, object detection, image generation, and more.

Recurrent Neural Networks (RNN): Description: RNNs are designed for sequential data processing. They can capture temporal dependencies and are widely used in natural language processing and time series analysis. Use Cases: Sentiment analysis, language modeling, speech recognition, and more.

Deep Neural Networks (DNN): Description: DNNs, also known as feedforward neural networks, are the foundation of deep learning. They consist of multiple layers of interconnected neurons and can be applied to various tasks. Use Cases: Regression, classification, feature learning, and more.

Transformers: Description: Transformers have revolutionized natural language processing. They use attention mechanisms to capture contextual information effectively. Transformers have found applications beyond NLP, such as image processing. Use Cases: Language translation, text generation, image captioning, and more.

Innovative Combinational Networks: Description: Combinational networks combine multiple architectural components to create hybrid models. These models can offer unique advantages and improved performance by leveraging the strengths of different network types. Use Cases: Custom applications that require a blend of CNN, RNN, DNN, and Transformer features. Each custom network type is accompanied by code examples, documentation, and datasets, enabling you to dive into the specifics of each architecture. Whether you are looking to tackle computer vision, natural language processing, or other AI-related tasks, our repository has you covered.

image

Hyperparameter Tuning โš™๏ธ

The repository encourages users to experiment with hyperparameters to optimize their custom models. Here's a list of key hyperparameters that can be tuned:

  • Initialization: Choose your weapon for weight initialization. ๐Ÿ’ช

  • Dropout: Embrace dropout layers for model robustness. ๐Ÿ›ก๏ธ

  • Data Augmentation: Augment your data for greater generalization. ๐Ÿ“ˆ

  • Early Stopping: Know when to call it quits with early stopping. โฑ๏ธ

  • Ensemble Methods: Join forces for even better predictions. ๐Ÿค

METHOD TECHNIQUES
Initialization Xavier (uniform)(Softmax and tanh)
He (Possion)(ReLu)
Activation functions Sigmoid
Tanh
ReLU
LeakyReLU
Softmax
ELU
Softplus
GELU
Loss functions Binary Cross Entropy
Categorial Cross Entropy
Mean Squared Error
Hinge Loss
Smooth Hinge Loss
Poisson Loss
Huber Loss
Optimizers and Learning Algo (Back Propagation) Gradient Decent
SGD
Batch & MiniBatch SGD
Momentum
Adagrad
RMS Prop
AdaDelta
Adam
Regularizations L2
Dropout Layers
Early Stopping
Batch Normalization
Data Augmentaition
Ensemble Methods

image

Contributing ๐Ÿค

Contributing to Custom_DL_Models

We welcome and appreciate contributions from the open-source community. By contributing to this project, you help make it better for everyone. Before you get started, please take a moment to read this guide to understand how you can contribute.

How to Contribute

  1. Fork the Repository: Click the "Fork" button on the top right corner of this repository's page. This will create a copy of the repository in your GitHub account.

  2. Clone Your Fork: Clone the forked repository to your local machine:

    git clone https://github.com/LokeshYarramallu/Custom_DL_Models.git
  3. Create a Branch: Create a new branch for your work. Use a descriptive name for your branch:

    git checkout -b your-branch-name
  4. Make Changes: Make your desired changes to the codebase, documentation, or other project files.

  5. Test Your Changes: If applicable, ensure that your changes do not introduce errors and maintain compatibility with the existing code.

  6. Commit Your Changes: Commit your changes with a clear and concise commit message:

    git commit -m "Your descriptive commit message"
  7. Push Your Changes: Push your changes to your forked repository on GitHub:

    git push origin your-branch-name
  8. Open a Pull Request: Visit the original repository on GitHub and open a pull request (PR). Provide a clear and descriptive title and description for your PR.

  9. Review and Discussion: Participate in the discussion and address any feedback or changes requested by maintainers.

  10. Merge: Once your PR is approved, a project maintainer will merge it into the main branch.

Reporting Issues

If you find a bug or have a suggestion for improvements, please open an issue with a clear and detailed description of the problem or enhancement.

Thank you for contributing to our project! ๐Ÿš€ Happy coding!

About

This open-source project, "Custom_DL_Models," offers a diverse range of deep learning models, encouraging contributions and experimentation in neural network architectures and hyperparameter tuning.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published