Deep Unknown Equations (DUE) is an open-source software package designed to facilitate the data-driven modeling of unknown equations using modern deep learning techniques. It is also applicable for surrogate modeling of complex known equations that are costly to solve using traditional numerical methods. DUE is distinguished by its simplicity, allowing users to model unknown equations with as few as 10 lines of code.
DUE, along with all its dependencies, can be installed through running the following command:
$ pip install .The easiest way to get started with DUE is by running the provided templates in the examples/ directory. To launch new learning tasks, simply modify these templates slightly and prepare custom datasets.
-
For time series data with a fixed time lag, prepare a
.matfile containing an array named "trajectories" with size(N, d, T+1), whereNis the number of collected trajectories,dis the number of state variabes, andTis the number of time steps per trajectory. An optional second dataset of size(N', d, T'+1)can be used for model evaluation after training. -
For time series data with varying time lags, the
.matfile should contain a second array named "dt" with size(N, T), storing the time step sizes between consecutive states. -
For spatiotemporal data with a fixed time lag, one or two additional dimensions are required to account for spatial variability. Use size
(N,L,d,T+1)for point cloud data, whereLis the number of spatial sampling points. Use size(N,H,W,d,T+1)for 2D Cartesian grid data, whereHandWare the grid dimensions. Besides, the.matfile should contain a "coordinates" array with size(L, 1),(L, 2)or(H, W, 2), storing the locations of the sampling points. Currently, DUE is applicable for 1D and 2D problems. -
For spatiotemporal data with varying time lags, the
.matfile should include a third array named "dt" with size(N, T), storing the time step sizes between consecutive snapshots.
All training and testing data for the demonstration examples can be downloaded via Google Drive or Microsoft OneDrive.
