
Tutorial: OccamyPy, an object-oriented optimization framework for large-scale inverse problems
Francesco Picetti & Ettore Biondi
What you'll need:
Slack channel: #t22-tue-occamypy (visit softwareunderground.org/slack to join)
github.com/fpicetti/occamypy
We present a python library that can be employed to solve small- and large-scale problems based on the concept of vectors and operators.
Based on NumPy, CuPy and PyTorch, it includes different iterative optimization algorithms that can be used in combination with architecture-independent vectors and operators, thus running on CPU, GPUs and HPC clusters with a unique codebase.
Inspired by PyLops, we demonstrate its flexibility and scalability on multiple inverse problems, where convex and non-convex objective functions are optimized with different iterative algorithms.
TIME STAMPS
00:00:00 Start Streaming
0:05 Transform 2022 information
2:15 Intro
4:00 Why building such a library
4:56 Which language? Python!
5:12 General concepts and library structure
9:54 Examples
18:37 Simple Quadratic problems notebook
32:50 SplitBregman Examples
52:30 Torch example
56:56 PyLop and OccamPy together
1:04:33 Dask-based classes
1:13:40 2D LS-RTM with devito, dask and regularizers
1:33:35 Traveltime Eikonal Tomography
2:03:00 Conclusions
コメント