All Projects → vishal-keshav → Fast_prototype

vishal-keshav / Fast_prototype

Licence: gpl-3.0
This is a machine learning framework that enables developers to iterate fast over different ML architecture designs.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Fast prototype

Qlib
Qlib is an AI-oriented quantitative investment platform, which aims to realize the potential, empower the research, and create the value of AI technologies in quantitative investment. With Qlib, you can easily try your ideas to create better Quant investment strategies. An increasing number of SOTA Quant research works/papers are released in Qlib.
Stars: ✭ 7,582 (+50446.67%)
Mutual labels:  platform, research
Handout
Turn Python scripts into handouts with Markdown and figures
Stars: ✭ 1,973 (+13053.33%)
Mutual labels:  research, prototyping
Contextualise
Contextualise is a simple but effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources
Stars: ✭ 899 (+5893.33%)
Mutual labels:  research
Squib
A Ruby DSL for prototyping card games.
Stars: ✭ 850 (+5566.67%)
Mutual labels:  prototyping
Android Privacy Issues
an article describing the privacy issues in Android OS
Stars: ✭ 26 (+73.33%)
Mutual labels:  research
Fsfirestore
Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase.
Stars: ✭ 22 (+46.67%)
Mutual labels:  platform
Weixin Platform History Article Api
微信公众号历史文章爬取api
Stars: ✭ 27 (+80%)
Mutual labels:  platform
Biolitmap
Code for the paper "BIOLITMAP: a web-based geolocated and temporal visualization of the evolution of bioinformatics publications" in Oxford Bioinformatics.
Stars: ✭ 18 (+20%)
Mutual labels:  research
Papers We Love Bbsr
Papers-we-love bhubaneswar chapter
Stars: ✭ 12 (-20%)
Mutual labels:  research
M2x Python
AT&T M2X Python Library
Stars: ✭ 25 (+66.67%)
Mutual labels:  platform
Puree
Metadata extraction from the Pure Research Information System.
Stars: ✭ 8 (-46.67%)
Mutual labels:  research
Dendro
"Open-source Dropbox" with added description features. It is a data storage and description platform designed to help researchers and other users to describe their data files, built on Linked Open Data and ontologies. Users can use Dendro to publish data to CKAN, Zenodo, DSpace or EUDAT's B2Share and others.
Stars: ✭ 25 (+66.67%)
Mutual labels:  research
Csp
The Cyber Security Platform MeliCERTes is part of the European Strategy for Cyber Security. MeliCERTes is a network for establishing confidence and trust among the national Computer Security Incident Response Teams (CSIRTs) of the Member States and for promoting swift and effective operational cooperation.
Stars: ✭ 23 (+53.33%)
Mutual labels:  platform
Cubedworld
CubedWorld is a research project with the hopes of reversing some of Cube World's source code and add extra features to the game
Stars: ✭ 7 (-53.33%)
Mutual labels:  research
Tagstore
a research software; a fun way of storing files & folders on your local disk drive; tagging
Stars: ✭ 18 (+20%)
Mutual labels:  research
Language
Shared repository for open-sourced projects from the Google AI Language team.
Stars: ✭ 860 (+5633.33%)
Mutual labels:  research
Simex
Start-to-end photon experiment simulation platform
Stars: ✭ 18 (+20%)
Mutual labels:  platform
Puppy
Starter kit and delivery system for building static prototypes with Twig
Stars: ✭ 25 (+66.67%)
Mutual labels:  prototyping
Flutter adapter
A plugin that adapts the flutter application to different platforms, allowing your flutter application to flexibly and efficiently adapt to various platforms in the same flutter project, maximizing UI multiplexing, and sharing business logic code across different platforms. Support to select different layout styles in real time according to the screen orientation.
Stars: ✭ 27 (+80%)
Mutual labels:  platform
Yerevann.github.io
YerevaNN blog
Stars: ✭ 13 (-13.33%)
Mutual labels:  research

A more systematic and advanced approach to prototype research ideas

This repository contains an easy-to-use and easy-to-follow code base that aids in fast prototyping machine learning research ideas. The code base relies on the TensorFlow framework, but the same coding style can be incorporated with any ML library such as py-torch and caffe. Each file in this project has been written by keeping one thing in mind: multiple experimentations with several revisions of ML models and several revisions of hyper-parameters. Thus, this code base is an initial step to manage the experiments in a more systematic way and track the multiple result output with ample amount of variations and visualizations. 💪

Some key features

  1. Bayesian optimizer for hyper-parameter search before you start your training.
  2. Inclusion of ready to use popular dataset processing scripts (such as MNIST, CIFAR, IMAGENET).
  3. Takes full advantage of TensorFlow's fast data pipeline and efficient GPU computation algorithms.
  4. Get notifications of the training progress on your mobile phone.
  5. Highly extensible and easy to modify source code.
  6. Extensive guide and comments in the project to guide you through the implementation of a new feature
  7. Interesting visualizations such as distribution plots of intermediate layers of neural networks

Upcoming features

  1. Support for training detection models, with more modularity.

Dependencies

numpy ntfy slackclient ntfy[slack] tensorflow or tensorflow_gpu keyboard opencv_python netron wget pathlib statistics argparse scikit-optimize matplotlib scipy Pillow six

Tested on python version 2 and 3
All packages can be updated/installed with pip install -r requirements.txt except ntfy[slack]. Install ntfy[slack] seperately with pip install ntfy[slack] post requirements.txt installation.

About the code-base

The main controller is master.py. There are two parts which needs further explaination.

  • How to use this framework in your own project.
  • Where should you make changes.

How to make use of this repo

Fork the whole repository or make a copy of it. In order to stay updated, 🌟🌟star this repository🌟🌟, and you will be notified 📲 of new versions. Install the dependencies and update them as described in requirements.txt file.

Once the repository is copied 💾, interact only with master.py. "master.py" is the main controller and it handles following:

  • Phase 1: Get ready with benchmark datasets
    • Dataset download
    • Data pre-processing
    • Data provider as required in training phase.
  • Phase 2: Declaring the architecture and training details
    • Model architecture design
    • Hyper-parameter settings
    • Setup intermediate results saving infrastructure
  • Phase 3: Training and evaluation
    • Training
    • Testing and setting visualization infrastructure
  • Phase 4: Record results
    • Create tabular results
    • Visualization

Options for master.py

  • Dataset Phase options

python master.py --phase "dataset" --dataset "CIFAR-10" --download True --preprocess True

  • Training Phase options

python master.py --phase "train" --dataset "CIFAR-10" --model 1 --param 1

  • Evaluation Phase options

python master.py --phase "evaluate" --dataset "CIFAR-10" --model 1 --param 1

  • Visualization options

python master.py --phase "visualize" --model 1 --param 1

  • No Option - Default - Runs through all of the above phases
  • Downloads and preprocess the default MNIST dataset, trains on a default LeNet architecture, evaluate the training, and save the visualizations

python master.py

Where to make changes

  • dataset/dataset_name/dataset_script.py
Here, define the methods to retrieve, download and process the dataset.
Two folders, 'raw' and 'pre-processed', shall be used for any pre-processing.
Do not change getter function name and class signature
  • dataset/dataset_name/dataset_provider.py
Must define at least two functions, set_batch(batch_size) and next()
Do not change getter function name and class signature
  • architecture/version_x/model.py
Define the architecture in the build function.
Do not change anything else.
For a new model, a new folder with an incremental version number
should be created.
  • core/model_trainer.py
Make changes to get_data_provider() function. Change code only inside
session of execute() function
  • core/generate_visualization.py
Make changes to get_model() function only.
  • hyperparameter/version_x/param
Modify param.json file in a provided version folder or add a new version
folder with a param.json file.
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].