All Projects → GeorgeSeif → Transfer Learning Suite

GeorgeSeif / Transfer Learning Suite

Transfer Learning Suite in Keras. Perform transfer learning using any built-in Keras image classification model easily!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Transfer Learning Suite

Image classifier
CNN image classifier implemented in Keras Notebook 🖼️.
Stars: ✭ 139 (-34.43%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, cnn, image-classification, transfer-learning, image-recognition
Keras transfer cifar10
Object classification with CIFAR-10 using transfer learning
Stars: ✭ 120 (-43.4%)
Mutual labels:  classification, convolutional-neural-networks, cnn, image-classification, transfer-learning
Iresnet
Improved Residual Networks (https://arxiv.org/pdf/2004.04989.pdf)
Stars: ✭ 163 (-23.11%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, cnn, image-classification, image-recognition
Artificio
Deep Learning Computer Vision Algorithms for Real-World Use
Stars: ✭ 326 (+53.77%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, image-classification, transfer-learning, image-recognition
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (-8.02%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, cnn, image-classification
Pyconv
Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition (https://arxiv.org/pdf/2006.11538.pdf)
Stars: ✭ 231 (+8.96%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, cnn, image-recognition
Malware Classification
Towards Building an Intelligent Anti-Malware System: A Deep Learning Approach using Support Vector Machine for Malware Classification
Stars: ✭ 88 (-58.49%)
Mutual labels:  artificial-intelligence, classification, convolutional-neural-networks, image-classification
Rmdl
RMDL: Random Multimodel Deep Learning for Classification
Stars: ✭ 375 (+76.89%)
Mutual labels:  classification, convolutional-neural-networks, cnn, image-classification
Meme Generator
MemeGen is a web application where the user gives an image as input and our tool generates a meme at one click for the user.
Stars: ✭ 57 (-73.11%)
Mutual labels:  artificial-intelligence, cnn, image-classification
Deep Ranking
Learning Fine-grained Image Similarity with Deep Ranking is a novel application of neural networks, where the authors use a new multi scale architecture combined with a triplet loss to create a neural network that is able to perform image search. This repository is a simplified implementation of the same
Stars: ✭ 64 (-69.81%)
Mutual labels:  convolutional-neural-networks, image-classification, image
Graph 2d cnn
Code and data for the paper 'Classifying Graphs as Images with Convolutional Neural Networks' (new title: 'Graph Classification with 2D Convolutional Neural Networks')
Stars: ✭ 67 (-68.4%)
Mutual labels:  artificial-intelligence, classification, convolutional-neural-networks
Keras Sincnet
Keras (tensorflow) implementation of SincNet (Mirco Ravanelli, Yoshua Bengio - https://github.com/mravanelli/SincNet)
Stars: ✭ 47 (-77.83%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, cnn
Computervision Recipes
Best Practices, code samples, and documentation for Computer Vision.
Stars: ✭ 8,214 (+3774.53%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, image-classification
Sru Deeplearning Workshop
دوره 12 ساعته یادگیری عمیق با چارچوب Keras
Stars: ✭ 66 (-68.87%)
Mutual labels:  classification, convolutional-neural-networks, transfer-learning
Hardhat Detector
A convolutional neural network implementation of a script that detects whether an individual is wearing a hardhat or not.
Stars: ✭ 41 (-80.66%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, image-classification
Deepmodels
TensorFlow Implementation of state-of-the-art models since 2012
Stars: ✭ 33 (-84.43%)
Mutual labels:  convolutional-neural-networks, cnn, image-classification
Tf Mobilenet V2
Mobilenet V2(Inverted Residual) Implementation & Trained Weights Using Tensorflow
Stars: ✭ 85 (-59.91%)
Mutual labels:  convolutional-neural-networks, cnn, image-classification
Cnn 3d Images Tensorflow
3D image classification using CNN (Convolutional Neural Network)
Stars: ✭ 199 (-6.13%)
Mutual labels:  classification, convolutional-neural-networks, cnn
Deepsort
🧠 AI powered image tagger backed by DeepDetect
Stars: ✭ 209 (-1.42%)
Mutual labels:  artificial-intelligence, classification, image
Dmsmsgrcg
A photo OCR project aims to output DMS messages contained in sign structure images.
Stars: ✭ 18 (-91.51%)
Mutual labels:  convolutional-neural-networks, image-classification, image-recognition

Transfer Learning Suite in Keras

News

Description

This repository serves as a Transfer Learning Suite. The goal is to easily be able to perform transfer learning using any built-in Keras image classification model! Any suggestions to improve this repository or any new features you would like to see are welcome!

You can also check out my Semantic Segmentation Suite.

Models

All of the Keras built in models are made available:

Model Size Top-1 Accuracy Top-5 Accuracy Parameters Depth
VGG16 528 MB 0.715 0.901 138,357,544 23
VGG19 549 MB 0.727 0.910 143,667,240 26
ResNet50 99 MB 0.759 0.929 25,636,712 168
Xception 88 MB 0.790 0.945 22,910,480 126
InceptionV3 92 MB 0.788 0.944 23,851,784 159
InceptionResNetV2 215 MB 0.804 0.953 55,873,736 572
MobileNet 17 MB 0.665 0.871 4,253,864 88
DenseNet121 33 MB 0.745 0.918 8,062,504 121
DenseNet169 57 MB 0.759 0.928 14,307,880 169
DenseNet201 80 MB 0.770 0.933 20,242,984 201
NASNetMobile 21 MB NA NA 5,326,716 NA
NASNetLarge 342 MB NA NA 88,949,818 NA

Files and Directories

  • main.py: Training and Prediction mode

  • utils.py: Helper utility functions

  • checkpoints: Checkpoint files for each epoch during training

  • Predictions: Prediction results

Installation

This project has the following dependencies:

  • Numpy sudo pip install numpy

  • OpenCV Python sudo apt-get install python-opencv

  • TensorFlow sudo pip install --upgrade tensorflow-gpu

  • Keras sudo pip install keras

Usage

The only thing you have to do to get started is set up the folders in the following structure:

├── "dataset_name"                   
|   ├── train
|   |   ├── class_1_images
|   |   ├── class_2_images
|   |   ├── class_X_images
|   |   ├── .....
|   ├── val
|   |   ├── class_1_images
|   |   ├── class_2_images
|   |   ├── class_X_images
|   |   ├── .....
|   ├── test
|   |   ├── class_1_images
|   |   ├── class_2_images
|   |   ├── class_X_images
|   |   ├── .....

Then you can simply run main.py! Check out the optional command line arguments:

usage: main.py [-h] [--num_epochs NUM_EPOCHS] [--mode MODE] [--image IMAGE]
               [--continue_training CONTINUE_TRAINING] [--dataset DATASET]
               [--resize_height RESIZE_HEIGHT] [--resize_width RESIZE_WIDTH]
               [--batch_size BATCH_SIZE] [--dropout DROPOUT] [--h_flip H_FLIP]
               [--v_flip V_FLIP] [--rotation ROTATION] [--zoom ZOOM]
               [--shear SHEAR] [--model MODEL]

optional arguments:
  -h, --help            show this help message and exit
  --num_epochs NUM_EPOCHS
                        Number of epochs to train for
  --mode MODE           Select "train", or "predict" mode. Note that for
                        prediction mode you have to specify an image to run
                        the model on.
  --image IMAGE         The image you want to predict on. Only valid in
                        "predict" mode.
  --continue_training CONTINUE_TRAINING
                        Whether to continue training from a checkpoint
  --dataset DATASET     Dataset you are using.
  --resize_height RESIZE_HEIGHT
                        Height of cropped input image to network
  --resize_width RESIZE_WIDTH
                        Width of cropped input image to network
  --batch_size BATCH_SIZE
                        Number of images in each batch
  --dropout DROPOUT     Dropout ratio
  --h_flip H_FLIP       Whether to randomly flip the image horizontally for
                        data augmentation
  --v_flip V_FLIP       Whether to randomly flip the image vertically for data
                        augmentation
  --rotation ROTATION   Whether to randomly rotate the image for data
                        augmentation
  --zoom ZOOM           Whether to randomly zoom in for data augmentation
  --shear SHEAR         Whether to randomly shear in for data augmentation
  --model MODEL         Your pre-trained classification model of choice

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].