Giter Site home page Giter Site logo

monai's Introduction

Project MONAI

Medical Open Network for AI - Toolkit for Healthcare Imaging

Contact: [email protected]

This document identifies key concepts of project MONAI at a high level, the goal is to facilitate further technical discussions of requirements,roadmap, feasibility and trade-offs.

Vision

  • Develop a community of academic, industrial and clinical researchers collaborating and working on a common foundation of standardized tools.
  • Create a state-of-the-art, end-to-end training toolkit for healthcare imaging.
  • Provide academic and industrial researchers with the optimized and standardized way to create and evaluate models

Targeted users

  • Primarily focused on the healthcare researchers who develop DL models for medical imaging

Goals

  • Deliver domain-specific workflow capabilities
  • Address the end-end “Pain points” when creating medical imaging deep learning workflows.
  • Provide a robust foundation with a performance optimized system software stack that allows researchers to focus on the research and not worry about software development principles.

Guiding principles

Modularity

  • Pythonic -- object oriented components
  • Compositional -- can combine components to create workflows
  • Extensible -- easy to create new components and extend existing components
  • Easy to debug -- loosely coupled, easy to follow code (e.g. in eager or graph mode)
  • Flexible -- interfaces for easy integration of external modules

User friendly

  • Portable -- use components/workflows via Python “import”
  • Run well-known baseline workflows in a few commands
  • Access to the well-known public datasets in a few lines of code

Standardisation

  • Unified/consistent component APIs with documentation specifications
  • Unified/consistent data and model formats, compatible with other existing standards

High quality

  • Consistent coding style - extensive documentation - tutorials - contributors’ guidelines
  • Reproducibility -- e.g. system-specific deterministic training

Future proof

  • Task scalability -- both in datasets and computational resources
  • Support for advanced data structures -- e.g. graphs/structured text documents

Leverage existing high-quality software packages whenever possible

  • E.g. low-level medical image format reader, image preprocessing with external packages
  • Rigorous risk analysis of choice of foundational software dependencies

Compatible with external software

  • E.g. data visualisation, experiments tracking, management, orchestration

Key capabilities

Basic features Example Notes
Ready-to-use workflows Volumetric image segmentation “Bring your own dataset”
Baseline/reference network architectures Provide an option to use “U-Net”
Intuitive command-line interfaces
Multi-gpu training Configure the workflow to run data parallel training
Customisable Python interfaces Example Notes
Training/validation strategies Schedule a strategy of alternating between generator and discriminator model training
Network architectures Define new networks w/ the recent “Squeeze-and-Excitation” blocks “Bring your own model”
Data preprocessors Define a new reader to read training data from a database system
Adaptive training schedule Stop training when the loss becomes “NaN” “Callbacks”
Configuration-driven workflow assembly Making workflow instances from configuration file Convenient for managing hyperparameters
Model sharing & transfer learning Example Notes
Sharing model parameters, hyperparameter configurations Standardisation of model archiving format
Model optimisation for deployment
Fine-tuning from pre-trained models Model compression, TensorRT
Model interpretability Visualising feature maps of a trained model
Experiment tracking & management https://polyaxon.com/
Advanced features Example Notes
Compatibility with external toolkits XNAT as data source, ITK as preprocessor
Advanced learning strategies Semi-supervised, active learning
High performance preprocessors Smart caching, multi-process
Multi-node distributed training

monai's People

Contributors

wyli avatar nic-ma avatar ericspod avatar isaacyangsla avatar madil90 avatar atbenmurray avatar nvkevlu avatar

Watchers

James Cloos 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.