DataDrivenSR.EQSearch
— Typestruct EQSearch <: DataDrivenDiffEq.AbstractDataDrivenAlgorithm
Options for using SymbolicRegression.jl within the solve
function. Automatically creates Options
with the given specification. Sorts the operators stored in functions
into unary and binary operators on conversion.
Fields
weights
Optionally weight the loss for each y by this value (same shape as y) Default: nothing
numprocs
The number of processes to use, if you want EquationSearch to set this up automatically. Default: nothing
procs
If you have set up a distributed run manually with procs = addprocs() and @everywhere, pass the procs to this keyword argument. Default: nothing
addprocs_function
If using multiprocessing (parallelism=:multithreading), and are not passing procs manually, then they will be allocated dynamically using addprocs. However, you may also pass a custom function to use instead of addprocs. This function should take a single positional argument, which is the number of processes to use, as well as the lazy keyword argument. For example, if set up on a slurm cluster, you could pass addprocsfunction = addprocsslurm, which will set up slurm processes. Default: nothing
parallelism
What parallelism mode to use. The options are :multithreading, :multiprocessing, and :serial. Multithreading uses less memory, but multiprocessing can handle multi-node compute. If using :multithreading mode, the number of threads available to julia are used. If using :multiprocessing, numprocs processes will be created dynamically if procs is unset. If you have already allocated processes, pass them to the procs argument and they will be used. You may also pass a string instead of a symbol. Default: :serial
runtests
Whether to run (quick) tests before starting the search, to see if there will be any problems during the equation search related to the host environment Default: true
eq_options
Options for 'EquationSearch' Default: SymbolicRegression.Options()