You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Consolidate SAFE / molgen task code in `xlm.tasks.safe_molgen`
2
+
3
+
## Motivation
4
+
5
+
- Single canonical module for SAFE bracket encoding, fragment preprocessing, and post-hoc evaluators (`DeNovoEval`, `FragmentEval`). Deprecated TorchMetrics molgen training metrics were **not** carried forward.
6
+
- Align FlexMDM configs and lightning_train SAFE datasets with the learned-noise pipeline (fragment infill, logging fields, checkpoint cadence where copied).
7
+
- Remove `src/xlm/tasks/molgen.py` so there is no duplicate or shim layer.
8
+
9
+
## What changed
10
+
11
+
### Python
12
+
13
+
-**Added**[`src/xlm/tasks/safe_molgen.py`](src/xlm/tasks/safe_molgen.py): based on learned-noise `molgen_new.py` (GenMol-aligned `BracketSAFEConverter`, FCD hooks, grouped `FragmentEval`, etc.). Module name avoids clashing with the PyPI **`safe`** package.
- Recommended: Hydra compose training config with `experiment=safe_flexmdm` and `experiment=safe_flexmdm_fragment` once `flexmdm` is on the Hydra search path (`xlm-models` discovery).
54
+
55
+
## Follow-ups
56
+
57
+
- Delete this file before or after merge if you do not want it in the repo long term.
58
+
- Watch for downstream repos that imported `xlm.tasks.molgen` in Python code (xlm-core YAMLs are updated; external callers must switch to `xlm.tasks.safe_molgen`).
XLM is a unified framework for developing and comparing small non-autoregressive language models. It uses PyTorch as the deep learning framework, PyTorch Lightning for training utilities, and Hydra for configuration management. XLM provides core components for flexible data handling and training, useful architectural implementations for non-autoregressive workflows, and support for arbitrary runtime code injection. Custom model implementations that leverage the core components of xlm can be found in the xlm-models package. The package also includes a few preconfigured synthetic planning and language-modeling datasets.
0 commit comments