Skip to content

Releases: JuliaRCM/ReducedComplexityModeling.jl

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 12:07

ReducedComplexityModeling v0.3.0

Diff since v0.2.0

Breaking Changes

  • [compat] AbstractNeuralNetworks is "0.8" alone, and julia is "1.11". AbstractNeuralNetworks
    0.8 requires Julia 1.11, so a Julia 1.10 environment no longer resolves this package; 0.2.0 is the
    last release that loads there. The bound is what makes the package installable beside
    GeometricOptimizers 0.7 or 0.8, both of which require AbstractNeuralNetworks 0.8, and therefore
    usable by SparseIdentification.
  • accuracy(::Chain, ps, ::DataLoader) types ps as NetworkParameters, so a caller that passes
    anything else gets a MethodError at the call rather than a failure deeper in. NeuralNetworkParameters
    joins [deps], because AbstractNeuralNetworks 0.7 moved the parameters type into that package and
    0.8 imports it without exporting it. That release also removed QPT and QPTOAT, which this
    package used only as dispatch annotations in the data-loader fork, so it now defines both itself,
    copied from AbstractNeuralNetworks 0.6.4, and imports only Chain and NeuralNetwork. No data
    format, result or public name changes.

Merged pull requests:

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 20:42

ReducedComplexityModeling v0.2.0

Diff since v0.1.1

Breaking Changes

  • The sampler interface changes: sample(sampler, parameters::NamedTuple) is now the primitive and
    infers a concrete Table. sample(sampler, p1, p2, …) still works but does not infer. A sampler
    now implements _columns(sampler, parameters::Tuple) instead of
    sample(::MySampler, ::Vararg{Parameter}). The keys of the NamedTuple must equal the parameter
    names, else an AssertionError is raised.

  • AutoEncoderModel, an exported stub type with no implemented behaviour, has been removed.

  • TrainingData is now a struct rather than an abstract type, and it is exported.
    GeometricIntegratorData and GeometricIntegratorEnsembleData keep their fields and exports but
    no longer subtype it. Nothing dispatched on the old abstract type, so no call site changes.

New Features

  • Two new parameter samplers: RandomParameterSampler(n, rng) and QuasiRandomParameterSampler(n)
    (a Halton sequence). Both subtype ParameterSampler, ignore stored samples, and work with
    sample and the ParameterSpace(sampler, params...) constructor.

  • HDF5 groups written by save_parameters, h5save(::Parameter) and h5save(::ParameterSpace) now
    track link creation order, so keys are preserved as written. The HDF5 compat bound rises to
    0.16.11, 0.17.

  • Training data and training problems are first class.
    TrainingData{SpaceType, DataType, SystemType}(time, data[, problem]) tags data with three
    orthogonal axes, TrainingProblem(data, residual, parameters) holds a fit, and
    train(problem, method::Optim.FirstOrderOptimizer) fits the parameters. The exported names are
    ObservableSpace, IntrinsicSpace, TrainingData, TrainingProblem, train and train!.
    This adds GeometricBase to the dependencies, with the compat bound 0.14.6, 0.15.

Bug Fixes

  • ParameterSpace and NamedTuple(::Parameter...) accept parameters of different element types.

  • show(io, ::Parameter) now dispatches through Base.show; read_parameters(fpath) passes its
    group path positionally; save_parameters(fpath, params) opens a missing file with "cw"; and
    h5save(h5, ::Parameter) writes no samples dataset for a Parameter without samples, so the
    round trip works.

  • The DataLoader constructors read the autoencoder keyword as a Bool, so a value such as
    nothing or :yes now raises an error rather than silently returning nothing.

  • The export read_sampling_parameters, which named no definition, has been removed.

Changed

  • Pkg.test() no longer runs the doctests; test/quality/doctests.jl is the doctests group,
    which Pkg.test(test_args = ["doctests"]) runs. CI's Doctests job stays their runner.

Merged pull requests:

  • Import DataLoader from GeometricMachineLearning. (#31) (@benedict-96)
  • Normalise the data loader to NFC (#33) (@michakraus)
  • Strip the stubs, the fork and the marker structs (#34) (@michakraus)
  • Update the Batch doctest output for Julia 1.13 (#35) (@michakraus)
  • Fix the parameter layer; add random and quasi-random samplers (#36) (@michakraus)
  • Mixed-type ParameterSpace, inferred sample, HDF5 key order (#37) (@michakraus)
  • Make the Batch doctests independent of the random stream (part M17a) (#39) (@michakraus)
  • Migrate the test suite to the test convention (part M17) (#40) (@michakraus)
  • Remove the empty Open Issues heading from the CHANGELOG (#41) (@michakraus)
  • Update Documenter requirement to 1.19.0 in /docs (#43) (@dependabot[bot])
  • Update DocumenterCitations requirement to 1.5.0 in /docs (#44) (@dependabot[bot])
  • Update DocumenterInterLinks requirement to 1.1.0 in /docs (#45) (@dependabot[bot])
  • Update Documenter requirement to 1.19.0 in /test (#48) (@dependabot[bot])
  • Read the DataLoader autoencoder flag as a Bool (#49) (@michakraus)
  • test: JET report_opt lines for the kernel launchers and kernel bodies (part J3) (#50) (@michakraus)
  • CI: coverage from Julia 1 on ubuntu, save the cache only from a job that succeeds (#51) (@michakraus)
  • Move the doctests into their own test group (#52) (@michakraus)
  • Training data, training problems and train (#53) (@michakraus)

Closed issues:

  • TagBot: Manual intervention needed for releases (#30)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 07 May 16:04
9d0a3b3

ReducedComplexityModeling v0.1.1

Diff since v0.1.0

Merged pull requests:

  • CompatHelper: bump compat for HDF5 to 0.17, (keep existing compat) (#29) (@github-actions[bot])

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 11:18
5d0ad91

ReducedComplexityModeling v0.1.0

Merged pull requests:

  • CompatHelper: add new compat entry for ForwardDiff at version 0.10, (keep existing compat) (#23) (@github-actions[bot])
  • CompatHelper: add new compat entry for Optim at version 1, (keep existing compat) (#24) (@github-actions[bot])