Repository navigation
Releases: instadeepai/alf
Releases · instadeepai/alf
Release list
v0.1.0
The first stable release of ALF, under the Apache 2.0 license.
Published to PyPI as alf-core and alf-tools 0.1.0.
Added
RandomAcquisitionandUncertaintySamplingacquisition functions, giving a random baseline and a pure-exploration strategy.Matbenchdataset andModality.MATERIALS, behind a new optionalmatbench/materialsextra.SmilesMutationSearchandElementSubstitutionSearch, search protocols that propose novel molecules and crystals each round.GuacaMolOracle, for scoring arbitrary SMILES in online loops.top_konSingleMutantSearch, to seed mutants from more than just the single best sequence.BaseModel.embed()andSurrogate.embed(), giving embeddings a contract separate fromfeaturise().
Changed
CoreSetnow callsembed()instead offeaturise().BaseModel.embed()raisesNotImplementedErrorby default, so a custom model that relied onfeaturise()returning a 2-D embedding must now overrideembed()—return self.featurise(inputs)restores the previous behaviour.- Tied labels in
LabelledCandidates.get_top_kandsortnow break by position, rather than in an unspecified order that varied with array size. Ties are routine, so benchmark numbers may shift and reference results may need regenerating. SingleMutantSearchnow deduplicates its proposals, so the pool it returns can be smaller than before. It also rejects empty training sets and multi-output labels instead of silently mis-selecting.chempropis capped below 2.3.0, anduvoverrides raise thematminer,scipy,montyandscikit-learnfloors workspace-wide.
Fixed
one_hot_encode()pads variable-length batches instead of raisingIndexError.BoTorchAcquisitionfeaturises candidates, fixing GP models whoseCandidate.datais not already numeric.
Full changelog: v0.1.0b0...v0.1.0
v0.1.0b0
ALF was released as a beta version under the Apache 2.0 license. First stable release will follow shortly. The following features are included:
- Introduced
alf_core, a lightweight framework package providing base classes, core data structures (Candidate,LabelledCandidates,Predictions,State), and an active learning loop abstraction with no ML-framework dependencies. - Introduced
alf_tools, a ready-to-use package of surrogate models, datasets, and acquisition functions built on top ofalf_corewith PyTorch. - Added surrogate models:
CNNModel,MLPModel, Gaussian Process (GPModel),EnsembleWrapperfor deep ensembles, andChempropModel(message-passing neural network via Chemprop v2). - Added
ESM-2protein language model surrogate with BERT-style masked language model fine-tuning, andESMFoldoracle for protein structure confidence scoring. - Integrated BoTorch for continuous search spaces, including BoTorch-based surrogate models and acquisition functions (Expected Improvement, Upper Confidence Bound, Thompson Sampling) alongside discrete acquisition functions (Greedy, CoreSet with greedy k-centres).
- Added benchmark datasets: GFP (green fluorescent protein), FLIP, ProteinGym (with cross-validation support), and GuacaMol (small-molecule optimisation).
- Added classification support across the core framework, surrogate models, and metrics.
- Added input normalisation utilities including
InputStandardiserand a configurable normalisation strategy. - Added benchmarking metrics for active learning campaigns (recall, regret, and acquisition batch metrics) and benchmark example scripts comparing surrogates and acquisition functions.
- Added training metric logging via
TerminalStateLoggerand configurable per-round state recording. - Published comprehensive documentation including installation guide, API reference, conceptual explanations, how-to recipes, and tutorials following the Diátaxis structure.