All Projects → dkeras-project → Dkeras

dkeras-project / Dkeras

Licence: mit
Distributed Keras Engine, Make Keras faster with only one line of code.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dkeras

TF-Model-Deploy-Tutorial
A tutorial exploring multiple approaches to deploy a trained TensorFlow (or Keras) model or multiple models for prediction.
Stars: ✭ 51 (-71.82%)
Mutual labels:  keras-models, tensorflow-models, keras-tensorflow
Pytorch2keras
PyTorch to Keras model convertor
Stars: ✭ 676 (+273.48%)
Mutual labels:  keras-tensorflow, tensorflow-models, keras-models
pytorch2keras
PyTorch to Keras model convertor
Stars: ✭ 788 (+335.36%)
Mutual labels:  keras-models, tensorflow-models, keras-tensorflow
Bidaf Keras
Bidirectional Attention Flow for Machine Comprehension implemented in Keras 2
Stars: ✭ 60 (-66.85%)
Mutual labels:  deep-neural-networks, keras-tensorflow, keras-models
Predictive Maintenance Using Lstm
Example of Multiple Multivariate Time Series Prediction with LSTM Recurrent Neural Networks in Python with Keras.
Stars: ✭ 352 (+94.48%)
Mutual labels:  deep-neural-networks, keras-tensorflow, keras-models
Audio Pretrained Model
A collection of Audio and Speech pre-trained models.
Stars: ✭ 61 (-66.3%)
Mutual labels:  keras-tensorflow, tensorflow-models, keras-models
Har Keras Cnn
Human Activity Recognition (HAR) with 1D Convolutional Neural Network in Python and Keras
Stars: ✭ 97 (-46.41%)
Mutual labels:  deep-neural-networks, keras-tensorflow
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+654.14%)
Mutual labels:  distributed-systems, distributed
Parapet
A purely functional library to build distributed and event-driven systems
Stars: ✭ 106 (-41.44%)
Mutual labels:  parallel-computing, distributed-systems
Sandglass
Sandglass is a distributed, horizontally scalable, persistent, time sorted message queue.
Stars: ✭ 1,531 (+745.86%)
Mutual labels:  distributed-systems, distributed
Ai Platform
An open-source platform for automating tasks using machine learning models
Stars: ✭ 61 (-66.3%)
Mutual labels:  tensorflow-models, keras-models
Opentpod
Open Toolkit for Painless Object Detection
Stars: ✭ 106 (-41.44%)
Mutual labels:  deep-neural-networks, tensorflow-models
Dtcraft
A High-performance Cluster Computing Engine
Stars: ✭ 122 (-32.6%)
Mutual labels:  parallel-computing, distributed-systems
Storj
Ongoing Storj v3 development. Decentralized cloud object storage that is affordable, easy to use, private, and secure.
Stars: ✭ 1,278 (+606.08%)
Mutual labels:  distributed-systems, distributed
Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (+604.97%)
Mutual labels:  deep-neural-networks, distributed
Androidtensorflowmachinelearningexample
Android TensorFlow MachineLearning Example (Building TensorFlow for Android)
Stars: ✭ 1,369 (+656.35%)
Mutual labels:  deep-neural-networks, tensorflow-models
Awesome System For Machine Learning
A curated list of research in machine learning system. I also summarize some papers if I think they are really interesting.
Stars: ✭ 1,185 (+554.7%)
Mutual labels:  deep-neural-networks, distributed-systems
Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+5854.7%)
Mutual labels:  distributed-systems, distributed
Mysterium Vpn
DEPRECATED version of Mysterium dVPN app. Please look at mysterium-vpn-desktop instead.
Stars: ✭ 149 (-17.68%)
Mutual labels:  distributed-systems, distributed
Ctranslate2
Fast inference engine for OpenNMT models
Stars: ✭ 140 (-22.65%)
Mutual labels:  parallel-computing, deep-neural-networks

dKeras logo

dKeras: Distributed Keras Engine

Make Keras faster with only one line of code.

dKeras is a distributed Keras engine that is built on top of Ray. By wrapping dKeras around your original Keras model, it allows you to use many distributed deep learning techniques to automatically improve your system's performance.

With an easy-to-use API and a backend framework that can be deployed from the laptop to the data center, dKeras simpilifies what used to be a complex and time-consuming process into only a few adjustments.

Why Use dKeras?

Distributed deep learning can be essential for production systems where you need fast inference but don't want expensive hardware accelerators or when researchers need to train large models made up of distributable parts.

This becomes a challenge for developers because they'll need expertise in not only deep learning but also distributed systems. A production team might also need a machine learning optimization engineer to use neural network optimizers in terms of precision changes, layer fusing, or other techniques.

Distributed inference is a simple way to get better inference FPS. The graph below shows how non-optimized, out-of-box models from default frameworks can be quickly sped up through data parallelism:

dKeras graph

Current Capabilities:

  • Data Parallelism Inference

Future Capabilities:

  • Model Parallelism Inference
  • Distributed Training
  • Easy Multi-model production-ready building
  • Data stream input distributed inference
  • PlaidML Support
  • Autoscaling
  • Automatic optimal hardware configuration
  • PBS/Torque support

Installation

The first official release of dKeras will be available soon. For now, install from source.

pip install git+https://github.com/dkeras-project/dkeras

Requirements

  • Python 3.6 or higher
  • ray
  • psutil
  • Linux (or OSX, dKeras works on laptops too!)
  • numpy

Coming Soon: PlaidML Support

dKeras will soon work alongside PlaidML, a "portable tensor compiler for enabling deep learning on laptops, embedded devices, or other devices where the available computing hardware is not well supported or the available software stack contains unpalatable license restrictions."

Distributed Inference

Example

Original

model = ResNet50()
model.predict(data)

dKeras Version

from dkeras import dKeras

model = dKeras(ResNet50)
model.predict(data)

Full Example

from tensorflow.keras.applications import ResNet50
from dkeras import dKeras
import numpy as np
import ray

ray.init()

data = np.random.uniform(-1, 1, (100, 224, 224, 3))

model = dKeras(ResNet50, init_ray=False, wait_for_workers=True, n_workers=4)
preds = model.predict(data)

Multiple Model Example

import numpy as np
from tensorflow.keras.applications import ResNet50, MobileNet

from dkeras import dKeras
import ray

ray.init()

model1 = dKeras(ResNet50, weights='imagenet', wait_for_workers=True, n_workers=3)
model2 = dKeras(MobileNet, weights='imagenet', wait_for_workers=True, n_workers=3)

test_data = np.random.uniform(-1, 1, (100, 224, 224, 3))

model1.predict(test_data)
model2.predict(test_data)

model1.close()
model2.close()
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].