MathEpiDeepLearning
MathEpiDeepLearning copied to clipboard
Awesome-spatial-temporal-data-mining-packages. Julia and Python resources on spatial and temporal data mining. Mathematical epidemiology as an application. Most about package information. Data Sourc...
MathEpiDeepLearning
See Website of MathEpiDeepLearning
Note that at this time packages are all listed in Readme. Now I am gradually classifying them and move them to docs (with the name Resources) in Website of MathEpiDeepLearning. See details in Resources/Tools for AI4Science.
Guides on contributions:
- Open issues to add source links
- Fork and pull requests
Also see its twin repo MathEpiDeepLearningTutorial: Tutorials on math epidemiology and epidemiology informed deep learning methods.
Contents:
-
Introduction
-
0. Epidemic Model
-
1. Data Preprocessing
- 1.1. Data Science
- Smoothing
- Outlier Detection
-
2. Basic Statistics and Data Visualization
- 2.1. Statistics
- 2.2. (Deep Learning based) Time Series Analysis
- 2.3. Survival Analysis
- 2.4. Data Visualization
- 2.5. GLM
-
3. Differential Programing and Data Mining
-
3.1. Differentiation, Quadrature and Tensor computation
-
3.1.1. Auto Differentiation
- Auto Difference
-
3.1.2. Quadrature
- Bayesian Methods
- Expectations calculation
-
3.1.3. Matrix and Tensor computation
- Special Matrix
- Eigenvalues
- Tensor computation
- Maps and Operators
- Matrix Equations
- Kronecker-based algebra
- 3.1.4. CPU, GPU and TPU
-
3.1.1. Auto Differentiation
-
3.2. Optimization
- 3.2.1. Metaheuristic
- 3.2.2. Evolution Strategy
- 3.2.3. Genetic Algorithms
- 3.2.4. Nonconvex
- 3.3. Optimal Control
-
3.4. Bayesian Inference
- 3.4.1. MCMC
- 3.4.2. Approximate Bayesian Computation (ABC)
- 3.4.3. Data Assimilation (SMC, particles filter)
- 3.4.4. Variational Inference
- 3.4.5. Gaussian, non-Gaussian and Kernel
- 3.4.6. Bayesian Optimization
- 3.4.7. Information theory
- 3.4.8. Uncertainty
- 3.4.9. Casual
- 3.4.10. Sampling
-
3.5. Machine Learning and Deep Learning
- 3.5.1. Machine Learning
- 3.5.2. Deep Learning
- 3.5.3. Reinforce Learning
- 3.5.4. GNN
- 3.5.5. Transformer
- 3.5.6. Transfer Learning
- 3.5.7. Neural Tangent
- 3.5.8. Visualization
-
3.6. Probabilistic Machine Learning and Deep Learning
- 3.6.1. GAN
- 3.6.2. Normalization Flows
- 3.6.3. VAE
-
3.7. Differential Equations and Scientific Computation
- 3.7.1. Partial differential equation
-
3.8. Scientific Machine Learning (Differential Equation and ML)
- 3.8.1. Universal Differential Equations. (Neural differential equations)
- 3.8.2. Physical Informed Neural Networks
- 3.8.3. Neural Operator
-
3.9. Data Driven Methods (Equation Searching Methods)
- 3.9.1. Symbolic Regression
- 3.9.2. SINDy (Sparse Identification of Nonlinear Dynamics from Data)
- 3.9.3. DMD (Dynamic Mode Decomposition)
-
3.10. Model Evaluation
- 3.10.1. Structure Identification
- 3.10.2. Global Sensitivity Analysis
- 3.10. Optimal Transportation
- 3.11. Agents, Graph and Networks
-
3.1. Differentiation, Quadrature and Tensor computation
-
4. Theoretical Analysis
- 4.0. Special Functions
- 4.1. Symbolic Computation
-
4.3. Roots, Interpolations
- 4.3.1. Roots
- 4.3.2. Interpolations
- 4.2. Bifurcation
-
5. Writings, Blog and Web
Introduction
Julia and Python resources on mathematical epidemiology and epidemiology informed deep learning methods. Most about package information. Main Topics include
-
Data Preprocessing
-
Basic Statistics and Data Visualization
-
Differential Programing and Data Mining such as bayesian inference, deep learning, scientific machine learning computation
-
Theoretical Analysis such as calculus, bifurcation analysis
-
Writings, Blog and Web
[TOC]
Julia:
epirecipes/sir-julia: Various implementations of the classical SIR model in Julia
Mobilityjtmatamalas/MMCAcovid19.jl: Microscopic Markov Chain Approach to model the spreading of COVID-19
jpfairbanks/SemanticModels.jl: A julia package for representing and manipulating model semantics
affans/covid19abm.jl: Agent Based Model for COVID 19 transmission dynamics
Python:
pyro.contrib.epidemiology.models — Pyro documentation
Modelling Human Mobility scikit-mobility/scikit-mobility: scikit-mobility: mobility analysis in Python
Matlab:
1. Data Preprocessing
1.1. Data Science
Julia:
JuliaData/DataFrames.jl: In-memory tabular data in Julia
JuliaStats/TimeSeries.jl: Time series toolkit for Julia
Python:
Numpy
Pandas
Smoothing
PumasAI/DataInterpolations.jl: A library of data interpolation and smoothing functions
viraltux/Smoothers.jl: Collection of basic smoothers and smoothing related applications
Expotential Smoothing:
konkam/FeynmanKacParticleFilters.jl: Particle filtering using the Feynman-Kac formalism
mschauer/Kalman.jl: Flexible filtering and smoothing in Julia
JuliaStats/Loess.jl: Local regression, so smooooth!
Outlier Detection
Julia:
baggepinnen/MatrixProfile.jl: Time-series analysis using the Matrix profile in Julia
jbytecode/LinRegOutliers: Direct and robust methods for outlier detection in linear regression
Python:
yzhao062/pyod: A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)
DHI/tsod: Anomaly Detection for time series data
2. Basic Statistics and Data Visualization
2.1. Statistics
cscherrer/MeasureTheory.jl: "Distributions" that might not add to one.
2.2. (Deep Learning based) Time Series Analysis
Julia: (few)
JuliaStats/TimeSeries.jl: Time series toolkit for Julia
Python:
Introduction — statsmodels
unit8co/darts: A python library for easy manipulation and forecasting of time series.
jdb78/pytorch-forecasting: Time series forecasting with PyTorch
tslearn-team/tslearn: A machine learning toolkit dedicated to time-series data
salesforce/Merlion: Merlion: A Machine Learning Framework for Time Series Intelligence
ourownstory/neural_prophet: NeuralProphet: A simple forecasting package
alan-turing-institute/sktime: A unified framework for machine learning with time series
sktime/sktime-dl: sktime companion package for deep learning based on TensorFlow
IBM/TSML.jl: A package for time series data processing, classification, clustering, and prediction.
zhouhaoyi/Informer2020: The GitHub repository for the paper "Informer" accepted by AAAI 2021.
blue-yonder/tsfresh: Automatic extraction of relevant features from time series:
microsoft/forecasting: Time Series Forecasting Best Practices & Examples
2.3. Survival Analysis
Julia:
Python:
Deep Learning for Survival Analysis
sebp/scikit-survival: Survival analysis built on top of scikit-learn
havakv/pycox: Survival analysis with PyTorch
CamDavidsonPilon/lifelines: Survival analysis in Python
chl8856/DeepHit: DeepHit: A Deep Learning Approach to Survival Analysis with Competing Risks
jaredleekatzman/DeepSurv: DeepSurv is a deep learning approach to survival analysis.
square/pysurvival: Open source package for Survival Analysis modeling
2.4. Data Visualization
Julia:
GiovineItalia/Gadfly.jl: Crafty statistical graphics for Julia.
queryverse/VegaLite.jl: Julia bindings to Vega-Lite
JuliaPlots/UnicodePlots.jl: Unicode-based scientific plotting for working in the terminal
Colors and Color schemes
JuliaGraphics/Colors.jl: Color manipulation utilities for Julia
JuliaGraphics/ColorSchemes.jl: colorschemes, colormaps, gradients, and palettes
Interactive
theogf/Turkie.jl: Turing + Makie = Turkie
Python:
Matplotlib
R:
Color themes:
Venn Diagrams
R:
yanlinlin82/ggvenn: Venn Diagram by ggplot2, with really easy-to-use API.
gaospecial/ggVennDiagram: A 'ggplot2' implement of Venn Diagram.
Python:
konstantint/matplotlib-venn: Area-weighted venn-diagrams for Python/matplotlib
Julia:
JuliaPlots/VennEuler.jl: Venn/Euler Diagrams for Julia
2.5. GLM
bambinos/bambi: BAyesian Model-Building Interface (Bambi) in Python.
3. Differential Programing and Data Mining
3.1. Differentiation, Quadrature and Tensor computation
3.1.1. Auto Differentiation
Julia:
FluxML/Zygote.jl: Intimate Affection Auditor
JuliaDiffEqFlux organization
JuliaDiff/ForwardDiff.jl: Forward Mode Automatic Differentiation for Julia
JuliaDiff/ReverseDiff.jl: Reverse Mode Automatic Differentiation for Julia
JuliaDiff/AbstractDifferentiation.jl: An abstract interface for automatic differentiation.
kailaix/ADCME.jl: Automatic Differentiation Library for Computational and Mathematical Engineering
chakravala/Leibniz.jl: Tensor algebra utility library
briochemc/F1Method.jl: F-1 method
Python:
pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration
tensorflow/tensorflow: An Open Source Machine Learning Framework for Everyone
AMICI-dev/AMICI: Advanced Multilanguage Interface to CVODES and IDAS
Auto Difference
Julia:
QuantEcon/SimpleDifferentialOperators.jl: Library for simple upwind finite differences
Python:
3.1.2. Quadrature
Learn One equals learn many
SciML/SymbolicNumericIntegration.jl
Julia:
JuliaMath/QuadGK.jl: adaptive 1d numerical Gauss–Kronrod integration in Julia
JuliaMath/HCubature.jl: pure-Julia multidimensional h-adaptive integration
JuliaApproximation/FastGaussQuadrature.jl: Julia package for Gaussian quadrature
JuliaApproximation/ApproxFun.jl: Julia package for function approximation
JuliaGNI/GeometricIntegrators.jl: Geometric Numerical Integration in Julia
Bayesian Methods
Julia:
theogf/BayesianQuadrature.jl: Is there anything we can't make Bayesian?
s-baumann/BayesianIntegral.jl: Bayesian Integration of functions
theogf/BayesianQuadrature.jl: Is there anything we can't make Bayesian?
Expectations calculation
QuantEcon/Expectations.jl: Expectation operators for Distributions.jl objects
3.1.3. Matrix and Tensor computation
Matrix organization
-
JuliaArrays/StaticArrays.jl: Statically sized arrays for Julia
-
JuliaArrays/StructArrays.jl: Efficient implementation of struct arrays in Julia
-
JuliaArrays/LazyArrays.jl: Lazy arrays and linear algebra in Julia
-
JuliaArrays/AxisArrays.jl: Performant arrays where each dimension can have a named axis with values
-
JuliaArrays/OffsetArrays.jl: Fortran-like arrays with arbitrary, zero or negative starting indices.
-
JuliaArrays/ArraysOfArrays.jl: Efficient storage and handling of nested arrays in Julia
-
JuliaArrays/InfiniteArrays.jl: A Julia package for representing infinite-dimensional arrays
-
JuliaArrays/FillArrays.jl: Julia package for lazily representing matrices filled with a single entry
-
JuliaMatrices/BandedMatrices.jl: A Julia package for representing banded matrices
-
JuliaMatrices/SpecialMatrices.jl: Julia package for working with special matrix types.
-
JuliaMatrices/InfiniteLinearAlgebra.jl: A Julia repository for linear algebra with infinite matrices
JuliaLang/SparseArrays.jl: SparseArrays.jl is a Julia stdlib
Python:
numpy
numba
scikit-hep/awkward-1.0: Manipulate JSON-like data with NumPy-like idioms.
Special Matrix and Arrays
JuliaMatrices/SpecialMatrices.jl: Julia package for working with special matrix types.
Computation
BLAS and LAPACKJuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia
JuliaGPU/GemmKernels.jl: Flexible and performant GEMM kernels in Julia
MasonProtter/Gaius.jl: Divide and Conquer Linear Algebra
Eigenvalues and Solvers
SolverSciML/LinearSolve.jl: LinearSolve.jl: High-Performance Unified Linear Solvers
Julia:
Eig: JuliaLinearAlgebra/Arpack.jl: Julia Wrappers for the arpack-ng Fortran library
JuliaLinearAlgebra/ArnoldiMethod.jl: Implicitly Restarted Arnoldi Method, natively in Julia
Solver:
JuliaSmoothOptimizers/Krylov.jl: A Julia Basket of Hand-Picked Krylov Methods
tjdiamandis/RandomizedPreconditioners.jl
JuliaLinearAlgebra/RecursiveFactorization.jl
Spectral methods
tpapp/SpectralKit.jl: Building blocks of spectral methods for Julia.
Spasrse Slover
SparseJuliaSparse/Pardiso.jl: Calling the PARDISO library from Julia
SparseJuliaSparse/MKLSparse.jl: Make available to Julia the sparse functionality in MKL
Python:
scipy.sparse.linalg.eigs — SciPy v1.7.1 Manual
Maps and Operators
emmt/LazyAlgebra.jl: A Julia package to extend the notion of vectors and matrices
JuliaSmoothOptimizers/LinearOperators.jl: Linear Operators for Julia
kul-optec/AbstractOperators.jl: Abstract operators for large scale optimization in Julia
matthieugomez/InfinitesimalGenerators.jl: A set of tools to work with Markov Processes
JuliaApproximation/ApproxFun.jl: Julia package for function approximation
Matrxi Equations
Kronecker-based algebra
MichielStock/Kronecker.jl: A general-purpose toolbox for efficient Kronecker-based algebra.
3.1.4.Platforms, CPU, GPU and TPU
Julia GPU organization
Python:
tonybaloney/Pyjion: Pyjion - A JIT for Python based upon CoreCLR
numba/numba: NumPy aware dynamic Python compiler using LLVM
3.2. Optimization
An "learn one equals learn all" Julia Package
Opt Organization:
Process Systems and Operations Research Laboratory
JuliaNLSolvers/Optim.jl: Optimization functions for Julia
JuliaOpt/NLopt.jl: Package to call the NLopt nonlinear-optimization library from the Julia language
robertfeldt/BlackBoxOptim.jl: Black-box optimization for Julia
jump-dev/MathOptInterface.jl: An abstraction layer for mathematical optimization solvers.
tpapp/MultistartOptimization.jl: Multistart optimization methods in Julia.
bbopt/NOMAD.jl: Julia interface to the NOMAD blackbox optimization software
NicolasL-S/SpeedMapping.jl: General fixed point mapping acceleration and optimization in Julia
JuliaManifolds/Manopt.jl: Optimization on Manifolds in Julia
3.2.1. Metaheuristic
Julia:
jmejia8/Metaheuristics.jl: High performance metaheuristics for optimization purely coded in Julia.
ac-tuwien/MHLib.jl: MHLib.jl - A Toolbox for Metaheuristics and Hybrid Optimization Methods in Julia
Python:
scikit-optimize/scikit-optimize: Sequential model-based optimization with a scipy.optimize
interface
ac-tuwien/pymhlib: pymhlib - A Toolbox for Metaheuristics and Hybrid Optimization Methods
cvxpy/cvxpy: A Python-embedded modeling language for convex optimization problems.
coin-or/pulp: A python Linear Programming API
3.2.2. Evolution Stragegy
Julia:
wildart/Evolutionary.jl: Evolutionary & genetic algorithms for Julia
d9w/Cambrian.jl: An Evolutionary Computation framework
itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC
3.2.3. Genetic Algorithms
Julia:
d9w/CartesianGeneticProgramming.jl: Cartesian Genetic Programming for Julia
Python:
trevorstephens/gplearn: Genetic Programming in Python, with a scikit-learn inspired API
3.2.4. Nonconvex
Julia:
JuliaNonconvex/Nonconvex.jl: Toolbox for non-convex constrained optimization.
3.2.5. First Order Methods
Proximal OPTEC
kul-optec/CIAOAlgorithms.jl: Coordinate and Incremental Aggregated Optimization Algorithms
3.3. Optimal Control
eleurent/phd-bibliography: References on Optimal Control, Reinforcement Learning and Motion Planning
Julia: Jump + InfiniteOpt
Jump is powerfull!!!
InfiniteOpt is powerfull!!!
GAMS unified softwareGAMS Documentation Center
GAMS-dev/gams.jl: A MathOptInterface Optimizer to solve JuMP models using GAMS
Matlab: Yalmip unifiedYALMIP
Python: unifiedPyomo/pyomo: An object-oriented algebraic modeling language in Python for structured optimization problems.
Julia:
odow/SDDP.jl: Stochastic Dual Dynamic Programming in Julia
PSORLab/EAGO.jl: A development environment for robust and global optimization
JuliaSmoothOptimizers/PDENLPModels.jl: A NLPModel API for optimization problems with PDE-constraints
JuliaMPC/NLOptControl.jl: nonlinear control optimization tool
Python:
casadi is powerful!
Matlab:
3.4. Bayesian Inference
Julia:
cscherrer/Soss.jl: Probabilistic programming via source rewriting
probcomp/Gen.jl: A general-purpose probabilistic programming system with programmable inference
Laboratory of Applied Mathematical Programming and Statistics
Python:
pints-team/pints: Probabilistic Inference on Noisy Time Series
pyro-ppl/pyro: Deep universal probabilistic programming with Python and PyTorch
tensorflow/probability: Probabilistic reasoning and statistical analysis in TensorFlow
jmschrei/pomegranate: Fast, flexible and easy to use probabilistic modelling in Python.
3.4.1. MCMC
Methods like HMC, SGLD are Covered by above-mentioned packages.
Julia:
mauro3/KissMCMC.jl: Keep it simple, stupid, MCMC
BigBayes/SGMCMC.jl: Stochastic Gradient Markov Chain Monte Carlo and Optimisation
emceemadsjulia/AffineInvariantMCMC.jl: Affine Invariant Markov Chain Monte Carlo (MCMC) Ensemble sampler
TuringLang/EllipticalSliceSampling.jl: Julia implementation of elliptical slice sampling.
Nested SamplingTuringLang/NestedSamplers.jl: Implementations of single and multi-ellipsoid nested sampling
Python:
jeremiecoullon/SGMCMCJax: Lightweight library of stochastic gradient MCMC algorithms written in JAX.
Nested Samplingjoshspeagle/dynesty: Dynamic Nested Sampling package for computing Bayesian posteriors and evidences
dfm/emcee: The Python ensemble sampling toolkit for affine-invariant MCMC
joshspeagle/dynesty: Dynamic Nested Sampling package for computing Bayesian posteriors and evidences
3.4.2. Approximate Bayesian Computation (ABC)
Also called likelihood free or simulation based methods
Julia: (few)
Python:
sbi-benchmark/sbibm: Simulation-based inference benchmark
elfi-dev/elfi: ELFI - Engine for Likelihood-Free Inference
pints-team/pints: Probabilistic Inference on Noisy Time Series
mackelab/sbi: Simulation-based inference in PyTorch
ICB-DCM/pyABC: distributed, likelihood-free inference
3.4.3. Data Assimilation (SMC, particles filter)
Julia:
JuliaGNSS/KalmanFilters.jl: Various Kalman Filters: KF, UKF, AUKF and their Square root variant
FRBNY-DSGE/StateSpaceRoutines.jl: Package implementing common state-space routines.
Python:
nchopin/particles: Sequential Monte Carlo in python
tingiskhan/pyfilter: Particle filtering and sequential parameter inference in Python
3.4.4. Variational Inference
Julia:
bat/MGVI.jl: Metric Gaussian Variational Inference
TuringLang/AdvancedVI.jl: A library for variational Bayesian methods in Julia
ngiann/ApproximateVI.jl: Approximate variational inference in Julia
Python:
3.4.5. Gaussion, non-Gaussion and Kernel
Julia:
Gaussian Processes for Machine Learning in Julia
Laboratory of Applied Mathematical Programming and Statistics
JuliaStats/KernelDensity.jl: Kernel density estimators for Julia
PieterjanRobbe/GaussianRandomFields.jl: A package for Gaussian random field generation in Julia
JuliaGaussianProcesses/Stheno.jl: Probabilistic Programming with Gaussian processes in Julia
STOR-i/GaussianProcesses.jl: A Julia package for Gaussian Processes
Python:
GPflow/GPflow: Gaussian processes in TensorFlow
SheffieldML/GPy: Gaussian processes framework in python
3.4.6. Bayesian Optimization
Julia:
SciML/Surrogates.jl: Surrogate modeling and optimization for scientific machine learning (SciML)
jbrea/BayesianOptimization.jl: Bayesian optimization for Julia
baggepinnen/Hyperopt.jl: Hyperparameter optimization in Julia.
Python:
fmfn/BayesianOptimization: A Python implementation of global optimization with gaussian processes.
pytorch/botorch: Bayesian optimization in PyTorch
optuna/optuna: A hyperparameter optimization framework
huawei-noah/HEBO: Bayesian optimisation library developped by Huawei Noah's Ark Library
3.4.7. Information theory
Julia: entropy and kldivengence for distributions or vectors can be seen in Distributions.jl
KL divergence for functionsRafaelArutjunjan/InformationGeometry.jl: Methods for computational information geometry
gragusa/Divergences.jl: A Julia package for evaluation of divergences between distributions
cynddl/Discreet.jl: A Julia package to estimate discrete entropy and mutual information
3.4.8. Uncertanty
Julia:
3.4.9. Casual
zenna/Omega.jl: Causal, Higher-Order, Probabilistic Programming
python
Review: rguo12/awesome-causality-algorithms: An index of algorithms for learning causality with data
3.4.10. Sampling
3.5. Machine Learning and Deep Learning
Python:
Survey ritchieng/the-incredible-pytorch at pythonrepo.com
3.5.1. Machine Learning
Julia: MLJ is enough
alan-turing-institute/MLJ.jl: A Julia machine learning framework
Evovest/EvoTrees.jl: Boosted trees in Julia
Dimention Reduction:madeleineudell/LowRankModels.jl: LowRankModels.jl is a julia package for modeling and fitting generalized low rank models.
Linear RegressionJuliaAI/MLJLinearModels.jl: Generalized Linear Regressions Models (penalized regressions, robust regressions, ...)
gerdm/pknn.jl: Probabilistic k-nearest neighbours
Python:
scikit-learn: machine learning in Python — scikit-learn 1.0.1 documentation
automl/auto-sklearn: Automated Machine Learning with scikit-learn
pycaret/pycaret: An open-source, low-code machine learning library in Python
nubank/fklearn: fklearn: Functional Machine Learning
wecarsoniv/augmented-pca: Repository for the AugmentedPCA Python package.
Data Generation
snorkel-team/snorkel: A system for quickly generating training data with weak supervision
3.5.2. Deep Learning
Julia: Flux and Knet
FluxML/Flux.jl: Relax! Flux is the ML library that doesn't make you tensor
sdobber/FluxArchitectures.jl: Complex neural network examples for Flux.jl
denizyuret/Knet.jl: Koç University deep learning framework.
Python: Jax, Pytorch, Tensorflow
pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration
tensorflow/tensorflow: An Open Source Machine Learning Framework for Everyone
catalyst-team/catalyst: Accelerated deep learning R&D
3.5.3. Reinforce Learning
Julia:
Python:
pfnet/pfrl: PFRL: a PyTorch-based deep reinforcement learning library
3.5.4. GNN
Julia:
CarloLucibello/GraphNeuralNetworks.jl: Graph Neural Networks in Julia
FluxML/GeometricFlux.jl: Geometric Deep Learning for Flux
Python:
pyg-team/pytorch_geometric: Graph Neural Network Library for PyTorch
dmlc/dgl: Python package built to ease deep learning on graph, on top of existing DL frameworks.
THUDM/cogdl: CogDL: An Extensive Toolkit for Deep Learning on Graphs
3.5.5. Transformer
Julia:
chengchingwen/Transformers.jl: Julia Implementation of Transformer models
Python:
3.5.6. Transfer Learning
3.5.7. Neural Tangent
Python:
google/neural-tangents: Fast and Easy Infinite Neural Networks in Python
3.5.8. Visulization
Python:
Semi-supervised Learning
Python:
TorchSSL/TorchSSL: A PyTorch-based library for semi-supervised learning (NeurIPS'21)
3.6. Probablistic Machine Learning and Deep Learning
Julia:
Python:
Probabilistic machine learning
OATML/bdl-benchmarks: Bayesian Deep Learning Benchmarks
3.6.1. GAN
Julia:
Python:
torchgan/torchgan: Research Framework for easy and efficient training of GANs based on Pytorch
3.6.2. Normilization Flows
Julia:
slimgroup/InvertibleNetworks.jl: A Julia framework for invertible neural networks
FFJord is impleted in DiffEqFlux.jl
Python:
Surveyjanosh/awesome-normalizing-flows: A list of awesome resources on normalizing flows.
3.6.3. VAE
Julia:
Python:
Variational Autoencoders — Pyro Tutorials 1.7.0 documentation
AntixK/PyTorch-VAE: A Collection of Variational Autoencoders (VAE) in PyTorch.
subinium/Pytorch-AutoEncoders at pythonrepo.com
Ritvik19/pyradox-generative at pythonrepo.com
3.6.4 BNN
RajDandekar/MSML21_BayesianNODE
bayesian-neural-networks · GitHub Topics
3.7. Differential Equations and Scientific Computation
Julia:
All you need is the following organization (My Idol Prof. Christopher Rackauckas):
SciML Open Source Scientific Machine Learning
Including agent based models JuliaDynamics
nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing
PerezHz/TaylorIntegration.jl: ODE integration using Taylor's method, and more, in Julia
Probablistic Numerical Methods:
Julia:
nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing
Python:
ProbNum — probnum 0.1 documentation
3.7.1. Partial differential equation
vavrines/Kinetic.jl: Universal modeling and simulation of fluid dynamics upon machine learning
JuliaIBPM
Ferrite-FEM/Ferrite.jl: Finite element toolbox for Julia
Python:
DedalusProject/dedalus: A flexible framework for solving PDEs with modern spectral methods.
3.7.2 Fractional Differential and Calculus
Julia
SciFracX/FractionalSystems.jl: Fractional order modeling and analysis in Julia.
3.8. Scientific Machine Learning (Differential Equation and ML)
massastrello/awesome-implicit-neural-models
3.8.1. Universal Differential Equations. (Neural differential equations)
Julia:
avik-pal/FastDEQ.jl: Deep Equilibrium Networks (but faster!!!)
UDE with Gaussion ProcessCrown421/GPDiffEq.jl
Python:
patrick-kidger/diffrax at zzun.app
3.8.2. Physical Informed Neural Netwworks
Julia:
Python:
lululxvi/deepxde: Deep learning library for solving differential equations and more
sciann/sciann: Deep learning for Engineers - Physics Informed Deep Learning
3.8.3. Neural Operator
Julia:
CliMA/OperatorFlux.jl: Operator layers for Flux.jl
brekmeuris/DrMZ.jl: Deep renormalized Mori-Zwanzig (DrMZ) Julia package.
3.9. Data Driven Methods (Equation Searching Methods)
Julia package including SINDy, Symbolic Regression, DMD
nmheim/NeuralArithmetic.jl: Collection of layers that can perform arithmetic operations
3.9.1. Symbolic Regression
cavalab/srbench: A living benchmark framework for symbolic regression
Python:
trevorstephens/gplearn: Genetic Programming in Python, with a scikit-learn inspired API
Julia:
MilesCranmer/SymbolicRegression.jl: Distributed High-Performance symbolic regression in Julia
sisl/ExprOptimization.jl: Algorithms for optimization of Julia expressions
3.9.2. SINDy (Sparse Identification of Nonlinear Dynamics from Data)
3.9.3. DMD (Dynamic Mode Decomposition)
mathLab/PyDMD: Python Dynamic Mode Decomposition
3.10. Model Evaluation
3.10.1. Structure Idendification
Julia:
SciML/StructuralIdentifiability.jl
alexeyovchinnikov/SIAN-Julia: Implementation of SIAN in Julia
3.10.2. Global Sensitivity Anylysis
Julia:
lrennels/GlobalSensitivityAnalysis.jl: Julia implementations of global sensitivity analysis methods.
Python:
R:
sensitivity
fast
sensobol
3.11. Optimal Transportation
Julia:
JuliaOptimalTransport/OptimalTransport.jl: Optimal transport algorithms for Julia
Python:
PythonOT/POT: POT : Python Optimal Transport
3.12. Agents, Graph and Networks
Computational Modeling Software Frameworks
Julia:
JuliaDynamics/Agents.jl: Agent-based modeling framework in Julia
Python:
projectmesa/mesa: Mesa is an agent-based modeling framework in Python
Network
briatte/awesome-network-analysis: A curated list of awesome network analysis resources.
Python:
networkx/networkx: Network Analysis in Python
GiulioRossetti/ndlib: Network Diffusion Library - (for NetworkX and iGraph)
Welcome to Epidemics on Networks’s documentation! — Epidemics on Networks 1.2rc1 documentation
4. Theoretical Analysis
Julia:
Python:
sympy/sympy: A computer algebra system written in pure Python
4.0. Special Functions
Julia:
JuliaMath/SpecialFunctions.jl: Special mathematical functions in Julia
InverseFunction JuliaMath/InverseFunctions.jl: Interface for function inversion in Julia
JuliaStats/StatsFuns.jl: Mathematical functions related to statistics.
JuliaStats/LogExpFunctions.jl: Julia package for various special functions based on log
and exp
.
scheinerman/Permutations.jl: Permutations class for Julia.
4.1. Symbolic Computation
Julia:
JuliaSymbolics/Symbolics.jl: A fast and modern CAS for a fast and modern language.
JuliaPy/SymPy.jl: Julia interface to SymPy via PyCall
jlapeyre/Symata.jl: language for symbolic mathematics
wbhart/AbstractAlgebra.jl: Generic abstract algebra functionality in pure Julia (no C dependencies)
Python:
sympy/sympy: A computer algebra system written in pure Python
4.3. Roots, Intepolations
4.3.1. Roots
Julia:
AllSciML/NonlinearSolve.jl: High-performance and differentiation-enabled nonlinear solvers
SciML/SciMLNLSolve.jl: Nonlinear solver bindings for the SciML Interface
JuliaMath/Roots.jl: Root finding functions for Julia
PolynomialRoots · Julia Packages
sglyon/MINPACK.jl: Wrapper for cminpack multivariate root finding routines
4.3.2. Interpolations and Approximations
Julia:
ApproxFun.jl
PumasAI/DataInterpolations.jl: A library of data interpolation and smoothing functions
JuliaMath/Interpolations.jl: Fast, continuous interpolation of discrete datasets in Julia
kbarbary/Dierckx.jl: Julia package for 1-d and 2-d splines
sisl/GridInterpolations.jl: Multidimensional grid interpolation in arbitrary dimensions
floswald/ApproXD.jl: B-splines and linear approximators in multiple dimensions for Julia
sostock/BSplines.jl: A Julia package for working with B-splines
stevengj/FastChebInterp.jl: fast multidimensional Chebyshev interpolation and regression in Julia
jipolanco/BSplineKit.jl: A collection of B-spline tools in Julia
NFFT/ANOVAapprox.jl: Approximation Package for High-Dimensional Functions in Julia
4.2. Bifurcation
rveltz/BifurcationKit.jl: A Julia package to perform Bifurcation Analysis
4.4 Polynomials
JuliaMath/Polynomials.jl: Polynomial manipulations in Julia
5. Writings, Blog and Web
JuliaDocs/Documenter.jl: A documentation generator for Julia.
Latex:
Detexify LaTeX handwritten symbol recognition
Display Julia Unicode in Latex
mossr/julia-mono-listings: LaTeX listings style for Julia and Unicode support for the JuliaMono font
Web:
facebook/docusaurus: Easy to maintain open source documentation websites.
Hexo
Jekyll • Simple, blog-aware, static sites | Transform your plain text into static websites and blogs
一个傻瓜式构建可视化 web的 Python 神器 -- streamlit
streamlit/streamlit: Streamlit — The fastest way to build data apps in Python
gradio-app/gradio: Create UIs for your machine learning model in Python in 3 minutes
GitHub Profile Settings:
abhisheknaiidu/awesome-github-profile-readme: 😎 A curated list of awesome GitHub Profile READMEs 📝
Shields.io: Quality metadata badges for open source projects
常用anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes
字体: be5invis/Sarasa-Gothic: Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕