Neural-network-based hyper-reduction and nonlinear reduced-order modelling components for GridapROMs.jl.
This package was extracted from GridapROMs.RBSteady/GridapROMs.RBTransient
(the NonlinearModels.jl, NNHyperReduction, NNOperatorReduction, and
HighDimNN* transient counterparts) into its own repository, and plugs back
into GridapROMs via multiple dispatch — no changes to GridapROMs itself
are required.
NonlinearROMs is not a registered package, so it must be added as a dev dependency (or otherwise made resolvable) before instantiating this environment:
using Pkg
Pkg.develop(path="../NonlinearROMs.jl")
Pkg.instantiate()using GridapROMs
using NonlinearROMs
res_reduction = NNHyperReduction(tol; nparams, sketch, compression)
jac_reduction = NNOperatorReduction(tol; nparams)
rbsolver = RBSolver(fesolver, state_reduction, res_reduction, jac_reduction)NNHyperReduction/NNOperatorReduction (and their transient counterparts
HighDimNNHyperReduction/HighDimNNOperatorReduction) can be passed anywhere
a HyperReduction is expected, exactly like MDEIMHyperReduction or
RBFHyperReduction.
NeuralNetworks.jl—MultiLayerPerceptron,GenericNeuralNetwork,AutoEncoder,VariationalAutoEncoder,AutoDecoder,train_neural_coefficient,NNStrategy.SteadyReductions.jl/SteadyHyperReductions.jl/SteadyInterpolations.jl/SteadyReducedOperators.jl— steadyNNOperatorReduction/NNHyperReduction.TransientReductions.jl/TransientHyperReductions.jl/TransientInterpolations.jl/TransientReducedOperators.jl— transientHighDimNNOperatorReduction/HighDimNNHyperReduction.
using Pkg
Pkg.test("NonlinearROMs")