GithubHelp home page GithubHelp logo

stemdl's Introduction

STEMDL

A Python package for distributed deep learning with a special focus on inverse problems in materials imaging.
stemdl was used in the following (applied and fundamental) deep learning research projects:

  1. 3-D reconstruction of Structural Distortions from Electron Microscopy (Link to Paper)
  2. 27,600 V100 GPUs and 7MW(h) of Power to solve an age-old scientific inverse problem (Link to Paper and Medium story )
  3. YNet: a Physics-Constrainted and Semi-Supervised Learning Approach to Inverse Problems

Getting Started

See scripts folder for the following:

  1. stemdl_run.py:
    Python script. Runs from the CLI to setup Neural Nets and start training/evaluation operations.
  2. generate_json.py:
    Python script. Generates .json files needed as input for stemdl_run.py

Brief description of Modules:

  1. inputs.py:
    Classes to read training/evaluation data, create training batches, and image transformations.
    Can handle I/O ops on TFRecords, numpy arrays, and lmdb files
  2. network.py:
    Classes to setup various kinds of Neural Nets (ConvNets, ResNets, etc...)
  3. runtime.py:
    Functions and Classes to perform (low-level) network training/evaluation
  4. io_utils.py:
    Functions to generate .json files for model architectures input files, hyperparameters, and training runs configurations
  5. losses.py:
    Functions to generate and manipulate loss functions
  6. optimizers.py:
    Optimizer setup and gradients pre-processing and reduction
  7. automatic_loss_scaler.py:
    Python module for dynamic loss scaling during fp16 training (taken as is from OpenSeq2Seq)

Software Requirements:

  1. numpy >= 1.13
  2. tensorflow >=1.2
  3. python 3.6
  4. horovod >=0.16

Hardware Requirements:

  1. CUDA compatible GPU >=1

Install ####:

Project not yet on Pypi. For now:

git clone
cd stemdl
pip install .

stemdl's People

Contributors

yngtodd avatar wrathematics avatar ssomnath avatar jqyin avatar

Watchers

Numan Laanait avatar paper2code - bot 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.