Difference between revisions of "Neural network module"

From Spinach Documentation Wiki
Jump to: navigation, search
(→‎Using DEERNet)
(→‎Using DEERNet)
Line 2: Line 2:
  
 
==Using DEERNet==
 
==Using DEERNet==
−
Simply feed your DEER data to [[deernet.m]] - examples are provided in examples/deernet directory. You will get outputs that looks like the following:
+
Import your data with [[elexsys2deernet.m]] and feed it into [[deernet.m]] - examples are provided in examples/deernet directory. You will get outputs that looks like the following:
  
 
[[File:deernet2_example.png]]
 
[[File:deernet2_example.png]]

Revision as of 16:26, 14 June 2021

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). The reasons why it works so well are analysed in (https://arxiv.org/abs/1912.01498).

Using DEERNet

Import your data with elexsys2deernet.m and feed it into deernet.m - examples are provided in examples/deernet directory. You will get outputs that looks like the following:

Deernet2 example.png

Functions

deer_lib_gen.m
Generates a library of simulated DEER data for use in neural network training and validation.
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.

Service functions

quality_control.m
Internal heuristics designed to catch malformed inputs.

Training your own networks

Training your own networks will require powerful hardware - IK's workstation has 32 Xeon cores, 1 TB of RAM, and three NVidia Titan V cards. Network sets included with the public versions of DEERNet took weeks to train.

  1. Go into experiments/deernet and edit library_params.m file.
  2. Delete all *.mat files from network 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.


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