Tianshou/CHANGELOG.md
Daniel Plop ca4f74f40e
Allow two (same/different) Batch objs to be tested for equality (#1098)
Closes: https://github.com/thu-ml/tianshou/issues/1086

### Api Extensions

- Batch received new method: `to_numpy_`. #1098
- `to_dict` in Batch supports also non-recursive conversion. #1098
- Batch `__eq__` now implemented, semantic equality check of batches is
now possible. #1098

### Breaking Changes

- The method `to_numpy` in `data.utils.batch.Batch` is not in-place
anymore. Instead, a new method `to_numpy_` does the conversion in-place.
#1098
2024-04-16 18:12:48 +02:00

2.7 KiB

Changelog

Release 1.1.0

Api Extensions

  • Batch received two new methods: to_dict and to_list_of_dicts. #1063
  • Collectors can now be closed, and their reset is more granular. #1063
  • Trainers can control whether collectors should be reset prior to training. #1063
  • Convenience constructor for CollectStats called with_autogenerated_stats. #1063
  • SamplingConfig supports batch_size=None. #1077
  • Batch received new method: to_numpy_. #1098
  • to_dict in Batch supports also non-recursive conversion. #1098
  • Batch eq now implemented, semantic equality check of batches is now possible. #1098

Internal Improvements

  • Collectors rely less on state, the few stateful things are stored explicitly instead of through a .data attribute. #1063
  • Introduced a first iteration of a naming convention for vars in Collectors. #1063
  • Generally improved readability of Collector code and associated tests (still quite some way to go). #1063
  • Improved typing for exploration_noise and within Collector. #1063
  • Better variable names related to model outputs (logits, dist input etc.). #1032
  • Improved typing for actors and critics, using Tianshou classes like Actor, ActorProb, etc., instead of just nn.Module. #1032
  • Added interfaces for most Actor and Critic classes to enforce the presence of forward methods. #1032
  • Simplified PGPolicy forward by unifying the dist_fn interface (see associated breaking change). #1032
  • Use .mode of distribution instead of relying on knowledge of the distribution type. #1032
  • Exception no longer raised on len of empty Batch. #1084
  • tests and examples are covered by mypy. #1077
  • NetBase is more used, stricter typing by making it generic. #1077

Breaking Changes

  • Removed .data attribute from Collector and its child classes. #1063
  • Collectors no longer reset the environment on initialization. Instead, the user might have to call reset expicitly or pass reset_before_collect=True . #1063
  • VectorEnvs now return an array of info-dicts on reset instead of a list. #1063
  • Fixed iter(Batch(...) which now behaves the same way as Batch(...).__iter__(). Can be considered a bugfix. #1063
  • Changed interface of dist_fn in PGPolicy and all subclasses to take a single argument in both continuous and discrete cases. #1032
  • utils.net.common.Recurrent now receives and returns a RecurrentStateBatch instead of a dict. #1077
  • The method to_numpy in data.utils.batch.Batch is not in-place anymore. Instead, a new method to_numpy_ does the conversion in-place. #1098

Tests

  • Fixed env seeding it test_sac_with_il.py so that the test doesn't fail randomly. #1081

Started after v1.0.0