All Projects → mme → Vergeml

mme / Vergeml

Licence: mit
Machine Learning Environment - alpha version

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vergeml

Train Ai With Django Swagger Jwt
Train AI (Keras + Tensorflow) to defend apps with Django REST Framework + Celery + Swagger + JWT - deploys to Kubernetes and OpenShift Container Platform
Stars: ✭ 66 (-80.47%)
Mutual labels:  rest-api, deep-neural-networks
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: ✭ 695 (+105.62%)
Mutual labels:  command-line, deep-neural-networks
Deep Learning In Production
In this repository, I will share some useful notes and references about deploying deep learning-based models in production.
Stars: ✭ 3,104 (+818.34%)
Mutual labels:  rest-api, deep-neural-networks
Bmw Tensorflow Training Gui
This repository allows you to get started with a gui based training a State-of-the-art Deep Learning model with little to no configuration needed! NoCode training with TensorFlow has never been so easy.
Stars: ✭ 736 (+117.75%)
Mutual labels:  rest-api, deep-neural-networks
Hey Jetson
Deep Learning based Automatic Speech Recognition with attention for the Nvidia Jetson.
Stars: ✭ 161 (-52.37%)
Mutual labels:  rest-api, deep-neural-networks
Bmw Yolov4 Inference Api Cpu
This is a repository for an nocode object detection inference API using the Yolov4 and Yolov3 Opencv.
Stars: ✭ 180 (-46.75%)
Mutual labels:  rest-api, deep-neural-networks
Bmw Tensorflow Inference Api Gpu
This is a repository for an object detection inference API using the Tensorflow framework.
Stars: ✭ 277 (-18.05%)
Mutual labels:  rest-api, deep-neural-networks
Oanda Api V20
OANDA REST-V20 API wrapper. Easy access to OANDA's REST v20 API with oandapyV20 package. Checkout the Jupyter notebooks!
Stars: ✭ 325 (-3.85%)
Mutual labels:  rest-api
Deepcut
A Thai word tokenization library using Deep Neural Network
Stars: ✭ 330 (-2.37%)
Mutual labels:  deep-neural-networks
Structopt
Parse command line arguments by defining a struct
Stars: ✭ 323 (-4.44%)
Mutual labels:  command-line
Flask Smorest
DB agnostic framework to build auto-documented REST APIs with Flask and marshmallow
Stars: ✭ 317 (-6.21%)
Mutual labels:  rest-api
Kim
Kim: A JSON Serialization and Marshaling framework
Stars: ✭ 326 (-3.55%)
Mutual labels:  rest-api
Restapidocs
Templates for documenting REST APIs
Stars: ✭ 327 (-3.25%)
Mutual labels:  rest-api
Open Api Android App
Kotlin, MVI Architecture, Dagger2, Retrofit2, Coroutines, Room Persistence, REST API, Token Authentication
Stars: ✭ 324 (-4.14%)
Mutual labels:  rest-api
Generator Sails Rest Api
Yeoman generator for scaffolding Sails REST API with predefined features
Stars: ✭ 336 (-0.59%)
Mutual labels:  rest-api
Clai
Command Line Artificial Intelligence or CLAI is an open-sourced project from IBM Research aimed to bring the power of AI to the command line interface.
Stars: ✭ 320 (-5.33%)
Mutual labels:  command-line
Pose Residual Network
Code for the Pose Residual Network introduced in 'MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network (ECCV 2018)' paper
Stars: ✭ 337 (-0.3%)
Mutual labels:  deep-neural-networks
Admin
A beautiful and fully-featured administration interface builder for hypermedia APIs
Stars: ✭ 335 (-0.89%)
Mutual labels:  rest-api
Comet
Modern PHP framework for building blazing fast REST APIs, CRUDs and microservices
Stars: ✭ 328 (-2.96%)
Mutual labels:  rest-api
Bcal
🔢 Storage and general-purpose calculator
Stars: ✭ 329 (-2.66%)
Mutual labels:  command-line

VergeML

VergeML is a command line based environment for exploring, training and running state-of-the-art Machine Learning models. It provides ready-to-use models, handles data preprocessing and augmentation, tracks your AI's training sessions and provides other goodies such as an automatic REST interface.

Here is how it looks in action:

terminal

Installation

VergeML runs on Windows, Linux and MacOS. You need to have Python 3.6 and TensorFlow installed.

Get VergeML via pip:

pip install vergeml

Verify your installation by typing:

ml help

Congratulations, you have successfully installed VergeML! If you need further help, see the full installation guide.

Quick Start

Let's create a very simple image classifier which tells apart cats from dogs.

First, we create a new project for our classifier. Projects help you organize your data, save your training results and compare the performance between trained AIs.

Go to the directory where you want to create your project and type:

ml --model=imagenet new cats_dogs

This sets up a model based on Keras called imagenet, which is based on transfer learning.

Let's change to this project directory and have a look:

cd cats_dogs

VergeML will automatically create a samples folder and a configuration file (vergeml.yaml). Among other things, this configuration file defines the current model.

Let's get some help on what we can do with the current model:

ml help

In the output you will see a section on model functions. It says we have two model functions, train and predict. Let's try training first!

Start training!

To start training an AI we will need a dataset:

ml download:cats-and-dogs

Info: VergeML provides several datasets to get you started. To see a list type ml help download

After the download has finished, you will see a lot of images in your samples directory divided into two folders: cats and dogs.

Later, when you use your own data, simply copy your images into subdirectories of the samples directory. VergeML will automatically pick up the directory names as labels.

To start training, type:

ml train

As a first step, VergeML will feed each of our images into a pretrained neural network, extract their features as output and cache it on disk. (On a GPU, this will typically take around 15 minutes.) Then it will train a new neural network based on this output. As a last step it will combine these two networks into a single network tailored for our task of classifying cats and dogs. This process is called "transfer learning".

VergeML will print out the test accuracy after our training is finished to evaluate the model's final performance. Our cats-and-dogs classifier achieves 98.6%, which is pretty good.

Info: By default, VergeML reserves 10% of your samples as validation and 10% as testing data. This step is required to measure the accuracy of your model.

We can inspect our model's performance using the list command:

ml list

This will give you the name (prefixed by the @ sign) and several performance metrics.

For instance, the training accuracy (acc) will tell you how good your AI can classify the images it sees during training, while validation accuracy (val_acc) tells you how well it performs with unseen images.

Using the AI from the command line

Our cats-and-dogs classifier is now ready to use. Let's point it to an image of a cat or a dog and see what it predicts:

ml @name-of-your-AI predict <filename>

Info: You can even point it to a directory: ml @name-of-your-AI predict my_cats_and_dogs_pictures/*

Launching a REST service

Finally, let's deploy our newly trained AI on a web service:

ml @name-of-your-AI run:rest

VergeML provides an API explorer that will launch in a new browser window. (If you don't want the browser to open use the --no-browser option.)

For example, to use the REST interface with cURL:

curl -F '[email protected]/to/image' http://localhost:2204/predict

License

MIT

Copyright (c) 2018-2019 Markus Ecker

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].