Skip to content

Releases: ant-research/EasyTemporalPointProcess

0.3.0

Choose a tag to compare

@iLampard iLampard released this 13 Jul 14:19

Highlights

HuggingFace-style model inputs. Models now accept keyword inputs — model.loglike_loss(**batch) — matching the named BatchEncoding batches the tokenizer already produced. The legacy positional tuple still works and emits a DeprecationWarning. Equivalence between both styles is enforced by tests across all models.

Flattened, torch-only package layout (breaking). With TensorFlow support long removed, models moved from easy_tpp/model/torch_model/torch_*.py to easy_tpp/model/*.py (e.g. easy_tpp.model.nhp). TorchBaseModel -> BaseModel, TorchModelWrapper -> ModelWrapper, torch_wrapper.py -> model_wrapper.py. The Torch* class aliases remain exported from easy_tpp.model, but the old easy_tpp.model.torch_model.* / easy_tpp.torch_wrapper import paths are removed — update deep imports when upgrading.

Fixes

  • ANHN works again: construction crashed on config subscripting, and compute_states_at_sample_times stacked duplicate tensors into a 5-D shape that broke the loss (#84-adjacent cleanup; both pre-existing).
  • Clean-install import crash: matplotlib (not a declared dependency) was imported at module level in the data loader; now imported lazily in the plot helpers.
  • Test fixture path fixed so the full suite runs anywhere; suite currently 20 green tests.

Infrastructure

  • New tests CI workflow: full pytest suite on Python 3.9 and 3.11 for every push/PR.
  • Docs CI fixed and modernized (Python 3.11, real dependencies); documentation fully rewritten for the torch-only library at https://ant-research.github.io/EasyTemporalPointProcess/.
  • Reference config gains IntensityFree_gen (generation via the closed-form hazard, #13) and rescale_time examples (#55).

Upgrade note: code doing from easy_tpp.model.torch_model.torch_nhp import NHP should become from easy_tpp.model.nhp import NHP (or from easy_tpp.model import NHP).

0.2.4

Choose a tag to compare

@iLampard iLampard released this 13 Jul 12:27

What's changed

  • Opt-in time rescaling for datasets with large inter-event times (#55): set data_specs.rescale_time: true to divide all event times by the mean training inter-event time (or set an explicit data_specs.time_scale). Time predictions and RMSE are reported in original units; the resolved scale is persisted in the model config. Default behavior is unchanged when the flag is off.
  • Fix multi-step generation padding bug (#13): predict_multi_step_since_last_event now respects batch_non_pad_mask — previously, every sequence shorter than the batch max conditioned on pad events and was compared against pad labels.
  • IntensityFree now supports thinning and multi-step generation (#13): new compute_intensities_at_sample_times implements the closed-form hazard of the log-normal mixture, lambda_k(t) = f(t)/S(t) * p(k|history).
  • New Colab deep-dive notebooks (linked from the README): log-space statistics in IntensityFree (#84) and multi-step generation / intensity-free thinning (#13), plus examples/verify_multistep_generation.py.
  • New regression tests: tests/test_multi_step_generation.py and time-rescaling config tests.

0.2.3

Choose a tag to compare

@iLampard iLampard released this 13 Jul 06:43

What's changed

  • Fix IntensityFree receiving raw-scale inter-event time statistics instead of log-space ones (#84): get_dt_stats now computes the mean/std of log(clip(dt, 1e-5)), matching the original IFL-TPP (Shchur et al., ICLR 2020). Its incorrect streaming mean/variance aggregation was also fixed.
  • New explainer notebook: notebooks/easytpp_intensityfree_log_stats.ipynb (Colab-ready) reproducing the bug and quantifying its impact.

Note: IntensityFree checkpoints trained on earlier versions bake in the old statistics and are not comparable with models trained on 0.2.3 — retrain to benefit from the fix.

0.2.2

Choose a tag to compare

@iLampard iLampard released this 13 Jul 06:19

What's changed

  • Fix easy_tpp.__version__ misreporting 0.1.0 (#85): the in-package version string is now the single source of truth and is read by setup.py, so the runtime version can no longer drift from the PyPI release version.

Note: 0.2.2 was already uploaded to PyPI manually, so the automated publish run for this release may fail as a duplicate — safe to ignore.

0.2.1

Choose a tag to compare

@iLampard iLampard released this 07 Nov 02:46
  1. depreciated all tf code
  2. improvement on loglike sampling

0.1.2

Choose a tag to compare

@iLampard iLampard released this 06 Apr 05:34
0a789d3
  1. fix bugs in the stage of generation;
  2. fix edge cases in metrics

0.1.0

Choose a tag to compare

@iLampard iLampard released this 06 Feb 16:44

A prompt fix for shuffle bug in data_loader

0.0.9

Choose a tag to compare

@iLampard iLampard released this 03 Feb 04:41
  1. fix bugs on tensorboard.
  2. fix bugs on data shuffle

0.0.8

Choose a tag to compare

@iLampard iLampard released this 29 Oct 16:44
  1. fix a few problems in sampling and model layers.
  2. add statistical functionalities in data loaders.
  3. remove a few redundant utilities

Fix hf dataset compatibility

Choose a tag to compare

@iLampard iLampard released this 14 Feb 07:18
0.0.7.1

update the script for making hf dataset