GithubHelp home page GithubHelp logo

kinlin's Introduction

๐Ÿ”ฅ kinlin

derived from kindling (n., /หˆkษชnd.lษชล‹/) - material that can be readily ignited


๐Ÿšง WIP ๐Ÿšง

Work is heavily in progress, nothing to see yet, move along โœ‹๐Ÿ‘ฎ๐Ÿ‘‰ Example: check out examples/target_example_usage.py

Idea

The idea is to have a framework on top of PyTorch that can make research experimentation easier:

  • Reduce generic boilerplate and allow you to focus on the most important
  • Make experiment code more descriptive and short, ideally so small that all can be in one file
  • Track projects and experiments
    • Save projects' and associated experiments' properties
    • Save all hyperparameters
    • Save git revision and/or .patch of code that was used for the experiment
    • Save all actions that were used in the experiment process
  • Handle training/validation process
    • Fully flexible (user-defined) training and validation
    • Fit for most of the CNN experimentations, and easily extended for other types of NN
    • Pretty and useful feedback
    • Support for metrics (associated with model) and callbacks (associated with training/validation process)
    • Automatically sync metrics with tensorboard for realtime visualization
  • Increase productivity with network prototyping
    • Provide easily customizable building blocks for different models (Important: the project is being developed primarily for my own use (I focus on CNNs for 3D volumetric data), so not all features have same priority :) When the project will be stable enough to be used, PRs will be super welcome.)
    • Moonshot idea: plot model architecture for publication?
  • Moonshot idea: generate reports of experiments automatically?
  • Moonshot idea: have GUI, maybe as a jupyter notebook addon or a separate web-based interface?

Hierarchy overview

  • Projects have Experiments
  • Each Experiment should track everything that you did to your Model (a log: each event start and finish)
  • Model is a combination of pytorch network and functions defining training, validation and testing
  • You can train (and validate) with TrainingStrategy, for example SupervisedTraining
  • Strategy combines Dataset, Model, PyTorch optimizer, Callbacks (like scheduler, checkpointer etc.) and model's metrics

kinlin's People

Contributors

the-lay avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.