Repository navigation
Releases: JuliaRCM/ReducedComplexityModeling.jl
Release list
v0.3.0
ReducedComplexityModeling v0.3.0
Breaking Changes
[compat] AbstractNeuralNetworksis"0.8"alone, andjuliais"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
GeometricOptimizers0.7 or 0.8, both of which require AbstractNeuralNetworks 0.8, and therefore
usable bySparseIdentification.accuracy(::Chain, ps, ::DataLoader)typespsasNetworkParameters, so a caller that passes
anything else gets aMethodErrorat 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 removedQPTandQPTOAT, 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 onlyChainandNeuralNetwork. No data
format, result or public name changes.
Merged pull requests:
- Admit AbstractNeuralNetworks 0.8 (#56) (@michakraus)
v0.2.0
ReducedComplexityModeling v0.2.0
Breaking Changes
-
The sampler interface changes:
sample(sampler, parameters::NamedTuple)is now the primitive and
infers a concreteTable.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 anAssertionErroris raised. -
AutoEncoderModel, an exported stub type with no implemented behaviour, has been removed. -
TrainingDatais now a struct rather than an abstract type, and it is exported.
GeometricIntegratorDataandGeometricIntegratorEnsembleDatakeep 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)andQuasiRandomParameterSampler(n)
(a Halton sequence). Both subtypeParameterSampler, ignore stored samples, and work with
sampleand theParameterSpace(sampler, params...)constructor. -
HDF5 groups written by
save_parameters,h5save(::Parameter)andh5save(::ParameterSpace)now
track link creation order, so keys are preserved as written. TheHDF5compat 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,trainandtrain!.
This addsGeometricBaseto the dependencies, with the compat bound0.14.6, 0.15.
Bug Fixes
-
ParameterSpaceandNamedTuple(::Parameter...)accept parameters of different element types. -
show(io, ::Parameter)now dispatches throughBase.show;read_parameters(fpath)passes its
group path positionally;save_parameters(fpath, params)opens a missing file with"cw"; and
h5save(h5, ::Parameter)writes nosamplesdataset for a Parameter without samples, so the
round trip works. -
The
DataLoaderconstructors read theautoencoderkeyword as aBool, so a value such as
nothingor:yesnow raises an error rather than silently returningnothing. -
The export
read_sampling_parameters, which named no definition, has been removed.
Changed
Pkg.test()no longer runs the doctests;test/quality/doctests.jlis thedoctestsgroup,
whichPkg.test(test_args = ["doctests"])runs. CI's Doctests job stays their runner.
Merged pull requests:
- Import
DataLoaderfromGeometricMachineLearning. (#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
ReducedComplexityModeling v0.1.1
Merged pull requests:
- CompatHelper: bump compat for HDF5 to 0.17, (keep existing compat) (#29) (@github-actions[bot])