Skip to content

Supervised regression/transfer learning on physical data from femtosecond experiments

License

Notifications You must be signed in to change notification settings

tszoldra/attoDNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AttoDNN - Femtosecond pulse parameter estimation from photoelectron momenta using machine learning

This software uses Keras for training, evaluation and explanation of the pretrained convolutional neural networks in supervised image regression setting. Models can be arranged into an ensemble. Examples of pretrained models used in this work include VGG16, Xception, EfficientNetB7, EfficientNetV2L.

Each model predicts both the value of the pulse parameter of interest, and the uncertainty (mean-variance estimator).

This software is accompanied by datasets with photoelectron momentum distributions from QProp, Strong Field Approximation and Experiments and are available in our OpenData catalog.

Notebooks:

If you use this repository or the datasets please cite the following paper:

T. Szołdra, M. F. Ciappina, N. Werby, P. H. Bucksbaum, M. Lewenstein, J. Zakrzewski, A. S. Maxwell, Femtosecond pulse parameter estimation from photoelectron momenta using machine learning, arXiv:2302.13940 (2023)

@misc{szoldra2023femtosecond,
    title={Femtosecond pulse parameter estimation from photoelectron momenta using machine learning}, 
    author={Tomasz Szołdra and Marcelo F. Ciappina and Nicholas Werby and Philip H. Bucksbaum and Maciej Lewenstein and Jakub Zakrzewski and Andrew S. Maxwell},
    year={2023},
    eprint={2303.13940},
    archivePrefix={arXiv},
    primaryClass={physics.atom-ph}
}

Installation

  1. We recommend you create a new anaconda3 environment to work with attoDNN:

     conda create --name attoDNN
     conda activate attoDNN
     conda install pip 
     pip install --upgrade pip
    
  2. Install tensorflow

     conda install -c conda-forge cudatoolkit=11.8.0
     python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*
     mkdir -p $CONDA_PREFIX/etc/conda/activate.d
     echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
     echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
     source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
    
  3. Check if tensorflow works fine:

     python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
    
  4. Install attoDNN:

     git clone https://github.com/tszoldra/attoDNN
     pip install -e attoDNN
    

About

Supervised regression/transfer learning on physical data from femtosecond experiments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published