Repository navigation
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)