Neural network module

From Spinach Documentation Wiki
Revision as of 11:03, 10 November 2020 by Kuprov (talk | contribs) (→‎Using DEERNet)
Jump to: navigation, search

DEERNet is a collection of functions that make and use deep neural networks for processing DEER data. The approach is described in detail in https://dx.doi.org/10.1126/sciadv.aat5218

Using DEERNet

Simply feed your DEER data to deernet.m - examples are provided in examples/deernet directory.

Training your own networks

Training your own DEERNets would require powerful hardware - IK's workstation has 32 Xeon cores, 1 TB of RAM, and three NVidia Titan V cards.

  1. Go into experiments/deernet and edit library_params.m file.
  2. Delete all networks from ./background and ./distances directories
  3. Edit training_script.m file to match your hardware configuration.
  4. Launch training_script.m file and hope that your computer holds up.

Functions

deer_lib_gen.m
Generates a library of simulated DEER data for use in neural network training and validation.
deer_resample.m
Resamples a DEER trace to fit the number of digitsation points expected by the neural network.
deernet.m
Uses a curated ensemble of neural networks to extract the distance distribution from DEER data.
deernet_wrapper.m
Compilable DEERNet wrapper for use outside Matlab and Spinach.
descramble.m
Weight matrix descrambling using Tikhonov smoothness criterion.
dist_range.m
Distance range estimation for a given time grid.
elexsys2deernet.m
Prepares standard Bruker Elexsys datasets for input into the deernet.m function.
left_diag.m
Weight matrix descrambling using maximum diagonality criterion.
process_using.m
Runs DEER data processing using a specified neural network file.
train_one_net.m
Trains a single neural network using supplied parameters.


Version 2.5, authors: Ilya Kuprov, Steve Worswick, Jake Amey, Jake Keeley, Tajwar Choudhury