All Projects → jcborges → Deepstack

jcborges / Deepstack

Licence: mit
DeepStack: Ensembling Keras Deep Learning Models into the next Performance Level

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deepstack

UNet Multiclass
UNet for Multiclass Semantic Segmentation, on Keras, based on Segmentation Models' Unet libray
Stars: ✭ 21 (-16%)
Mutual labels:  keras-models
keras tfrecord
Extending Keras to support tfrecord dataset
Stars: ✭ 61 (+144%)
Mutual labels:  keras-models
Segmentation models
Segmentation models with pretrained backbones. Keras and TensorFlow Keras.
Stars: ✭ 3,575 (+14200%)
Mutual labels:  keras-models
Deep-learning-model-deploy-with-django
Serving a keras model (neural networks) in a website with the python Django-REST framework.
Stars: ✭ 76 (+204%)
Mutual labels:  keras-models
TF-Model-Deploy-Tutorial
A tutorial exploring multiple approaches to deploy a trained TensorFlow (or Keras) model or multiple models for prediction.
Stars: ✭ 51 (+104%)
Mutual labels:  keras-models
dl-relu
Deep Learning using Rectified Linear Units (ReLU)
Stars: ✭ 20 (-20%)
Mutual labels:  keras-models
open-solution-cdiscount-starter
Open solution to the Cdiscount’s Image Classification Challenge
Stars: ✭ 20 (-20%)
Mutual labels:  keras-models
Trainyourownyolo
Train a state-of-the-art yolov3 object detector from scratch!
Stars: ✭ 399 (+1496%)
Mutual labels:  keras-models
DeepLearningCode
深度学习相关代码
Stars: ✭ 21 (-16%)
Mutual labels:  keras-models
Resnetcam Keras
Keras implementation of a ResNet-CAM model
Stars: ✭ 269 (+976%)
Mutual labels:  keras-models
Deep-Learning-in-R-using-Keras-and-Tensorflow-
Implementing Deep learning in R using Keras and Tensorflow packages for R and implementing a Multi layer perceptron Model on MNIST dataset and doing Digit Recognition
Stars: ✭ 24 (-4%)
Mutual labels:  keras-models
keras-chatbot-web-api
Simple keras chat bot using seq2seq model with Flask serving web
Stars: ✭ 51 (+104%)
Mutual labels:  keras-models
GestureAI
RNN(Recurrent Nerural network) model which recognize hand-gestures drawing 5 figures.
Stars: ✭ 20 (-20%)
Mutual labels:  keras-models
babble-rnn
babble-rnn is a research project in the use of machine learning to generate new speech by modelling human speech audio, without any intermediate text or word representations. The idea is to learn to speak through imitation, much like a baby might.
Stars: ✭ 34 (+36%)
Mutual labels:  keras-models
Keras Classification Models
Collection of Keras models used for classification
Stars: ✭ 311 (+1144%)
Mutual labels:  keras-models
vrn-torch-to-keras
Transfer pre-trained VRN model from torch to Keras/Tensorflow
Stars: ✭ 63 (+152%)
Mutual labels:  keras-models
Keras.jl
Run keras models with a Flux backend
Stars: ✭ 19 (-24%)
Mutual labels:  keras-models
Pytorch2keras
PyTorch to Keras model convertor
Stars: ✭ 676 (+2604%)
Mutual labels:  keras-models
Predictive Maintenance Using Lstm
Example of Multiple Multivariate Time Series Prediction with LSTM Recurrent Neural Networks in Python with Keras.
Stars: ✭ 352 (+1308%)
Mutual labels:  keras-models
pytorch2keras
PyTorch to Keras model convertor
Stars: ✭ 788 (+3052%)
Mutual labels:  keras-models

DeepStack

DeepStack: Ensembles for Deep Learning

Travis PyPI version Download Stats

DeepStack is a Python module for building Deep Learning Ensembles originally built on top of Keras and distributed under the MIT license.

Installation

pip install deepstack

Stacking

Stacking is based on training a Meta-Learner on top of pre-trained Base-Learners. DeepStack offers an interface to fit the Meta-Learner on the predictions of the Base-Learners. In the following an Example based on top of pre-trained Keras Models (there is also an interface for generic models):

Usage

from deepstack.base import KerasMember  # For a generic (i.e., Non-Keras Model) check the class `Member`
from deepstack.ensemble import StackEnsemble

model1 = ...  # A Keras pre-trained Model (Base-Learner)
train_batches1 =  ...  # A numpy tuple (X_train, y_train) or Keras Data Iterator - Training Data for Meta-Learner
val_batches1 =  ...  # A numpy tuple (X_val, y_val) or Keras Data Iterator - Validation Data for Meta-Learner
member1 = KerasMember(name="Model1", keras_model=model1, train_batches=train_batches1, val_batches=val_batches1)

model2 = ...  
train_batches2 =  ...  
val_batches2 =  ...  
member2 = KerasMember(name="Model2", keras_model=model2, train_batches=train_batches2, val_batches=val_batches2)

stack = StackEnsemble()
stack.add_member(member1)  # Assumption: the data iterators of base-learners iterate over the same data and have same shape and classes.
stack.add_member(member2)
stack.fit()  # Fits meta-learner based on training batches from its members (base-learners)
stack.describe()  # Prints information about ensemble performance based on validation data

Check an example on the CIFAR-10 dataset: Cifar10.py.

Randomized Weighted Ensemble

Ensemble Technique that weights the prediction of each ensemble member, combining the weights to calculate a combined prediction. Weight optimization search is performed with randomized search based on the dirichlet distribution on a validation dataset.

It follows the same interface of the StackEnsemble. An example can be found in Cifar10.py.

Citing DeepStack

If you use DeepStack in a scientific publication, we would appreciate citations:

@misc{
    title   = {DeepStack: Ensembles for Deep Learning},
    author  = {Julio Borges},
    url = {https://github.com/jcborges/DeepStack},
    date = {2019}
}
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].