Tensordict

Latest version: v0.4.0

Safety actively analyzes 626643 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.4.0

What's Changed

This new version of tensordict comes with a great deal of new features:

- You can now operate pointwise arithmetic operations on tensordict. For locked tensordicts and inplace operations such as `+=` or `data.mul_`, fused cuda kernels will be used which will drastically improve the runtime.
See
- [Feature] Pointwise arithmetic operations using foreach by vmoens in https://github.com/pytorch/tensordict/pull/722
- [Feature] Mean, std, var, prod, sum by vmoens in https://github.com/pytorch/tensordict/pull/751

- Casting tensordicts to device is now much faster out-of-the box as data will be cast asynchronously (and it's safe too!)
[BugFix,Feature] Optional non_blocking in set, to_module and update by vmoens in https://github.com/pytorch/tensordict/pull/718
[BugFix] consistent use of non_blocking in tensordict and torch.Tensor by vmoens in https://github.com/pytorch/tensordict/pull/734
[Feature] non_blocking=None by default by vmoens in https://github.com/pytorch/tensordict/pull/748

- The non-tensor data API has also been improved, see
[BugFix] Allow inplace modification of non-tensor data in locked tds by vmoens in https://github.com/pytorch/tensordict/pull/694
[BugFix] Fix inheritance from non-tensor by vmoens in https://github.com/pytorch/tensordict/pull/709
[Feature] Allow non-tensordata to be shared across processes + memmap by vmoens in https://github.com/pytorch/tensordict/pull/699
[Feature] Better detection of non-tensor data by vmoens in https://github.com/pytorch/tensordict/pull/685

- `tensorclass` now supports automatic type casting: annotating a value as a tensor or an int can ensure that the value will be cast to that type if the tensorclass decorator takes the `autocast=True` argument
[Feature] Type casting for tensorclass by vmoens in https://github.com/pytorch/tensordict/pull/735

- TensorDict.map now supports the "fork" start method. Preallocated outputs are also a possibility.
[Feature] mp_start_method in tensordict map by vmoens in https://github.com/pytorch/tensordict/pull/695
[Feature] map with preallocated output by vmoens in https://github.com/pytorch/tensordict/pull/667

- Miscellaneous performance improvements
[Performance] Faster flatten_keys by vmoens in https://github.com/pytorch/tensordict/pull/727
[Performance] Faster update_ by vmoens in https://github.com/pytorch/tensordict/pull/705
[Performance] Minor efficiency improvements by vmoens in https://github.com/pytorch/tensordict/pull/703
[Performance] Random speedups by albanD in https://github.com/pytorch/tensordict/pull/728
[Feature] Faster to(device) by vmoens in https://github.com/pytorch/tensordict/pull/740

- Finally, we have opened a discord channel for tensordict!
[Badge] Discord shield by vmoens in https://github.com/pytorch/tensordict/pull/736

- We cleaned up the API a bit, creating a `save` and a `load` methods, or adding some utils such as `fromkeys`. One can also check if a key belongs to a tensordict as it is done with a regular dictionary with `key in tensordict`!
[Feature] __contains__, clear and fromkeys by vmoens in https://github.com/pytorch/tensordict/pull/721

Thanks for all our contributors and community for the support!

Other PRs
* [Benchmark] Benchmark to_module by vmoens in https://github.com/pytorch/tensordict/pull/669
* [Benchmark] Benchmark update_ by vmoens in https://github.com/pytorch/tensordict/pull/704
* [BugFIx] FIx tc.update_ by vmoens in https://github.com/pytorch/tensordict/pull/750
* [BugFix, Feature] `pad_sequence` refactoring by dtsaras in https://github.com/pytorch/tensordict/pull/652
* [BugFix, Feature] tensorclass.to_dict and from_dict by vmoens in https://github.com/pytorch/tensordict/pull/707
* [BugFix, Performance] Fewer imports at root by vmoens in https://github.com/pytorch/tensordict/pull/682
* [BugFix, Refactor] More reliable Sequential.get_dist by vmoens in https://github.com/pytorch/tensordict/pull/678
* [BugFix,Feature] filter_empty in apply by vmoens in https://github.com/pytorch/tensordict/pull/661
* [BugFix] Allow device overriding with None in apply by vmoens in https://github.com/pytorch/tensordict/pull/720
* [BugFix] Avoid lazy stacks in stack if not asked explicitly by vmoens in https://github.com/pytorch/tensordict/pull/741
* [BugFix] Dense stack lazy tds defaults to dense_stack_tds by vmoens in https://github.com/pytorch/tensordict/pull/713
* [BugFix] Faster to_module by vmoens in https://github.com/pytorch/tensordict/pull/670
* [BugFix] Fix colab in tutos by vmoens in https://github.com/pytorch/tensordict/pull/757
* [BugFix] Fix dense stack usage in torch.stack by vmoens in https://github.com/pytorch/tensordict/pull/714
* [BugFix] Fix empty(recurse) call in _apply_nest by vmoens in https://github.com/pytorch/tensordict/pull/658
* [BugFix] Fix indexing (lazy stack and names) by vmoens in https://github.com/pytorch/tensordict/pull/657
* [BugFix] Fix keys for nested lazy stacks by vmoens in https://github.com/pytorch/tensordict/pull/745
* [BugFix] Fix lazy params init by vmoens in https://github.com/pytorch/tensordict/pull/681
* [BugFix] Fix lazy stack keys by vmoens in https://github.com/pytorch/tensordict/pull/744
* [BugFix] Fix load_state_dict for TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/689
* [BugFix] Fix name gathering with tensor indices by vmoens in https://github.com/pytorch/tensordict/pull/690
* [BugFix] Fix singleton dims in expand_as_right by vmoens in https://github.com/pytorch/tensordict/pull/687
* [BugFix] Fix to_module `__exit__` update when td is locked by vmoens in https://github.com/pytorch/tensordict/pull/671
* [BugFix] Fix to_module batch-size mismatch by vmoens in https://github.com/pytorch/tensordict/pull/688
* [BugFix] Fix torch_function for uninit param by vmoens in https://github.com/pytorch/tensordict/pull/683
* [BugFix] Fix zipping in flatten_keys by vmoens in https://github.com/pytorch/tensordict/pull/729
* [BugFix] Improve update_ by vmoens in https://github.com/pytorch/tensordict/pull/655
* [BugFix] Keep dim names in transpose by vmoens in https://github.com/pytorch/tensordict/pull/662
* [BugFix] Loading phantom state-dicts by vmoens in https://github.com/pytorch/tensordict/pull/650
* [BugFix] Make functorch.dim optional by vmoens in https://github.com/pytorch/tensordict/pull/737
* [BugFix] Missing **kwargs in apply_ fallback by vmoens in https://github.com/pytorch/tensordict/pull/664
* [BugFix] Patch pad_sequence by vmoens in https://github.com/pytorch/tensordict/pull/742
* [BugFix] Remove monkey patching of uninit params by vmoens in https://github.com/pytorch/tensordict/pull/684
* [BugFix] Support empty tuple in lazy stack indexing by vmoens in https://github.com/pytorch/tensordict/pull/696
* [BugFix] Track sub-tds in memmap by vmoens in https://github.com/pytorch/tensordict/pull/719
* [BugFix] Unlock td during update in to_module by vmoens in https://github.com/pytorch/tensordict/pull/686
* [BugFix] module hook fixes by vmoens in https://github.com/pytorch/tensordict/pull/673
* [BugFix] tensorclass as a decorator by vmoens in https://github.com/pytorch/tensordict/pull/691
* [CI] Doc on release tag by vmoens in https://github.com/pytorch/tensordict/pull/761
* [CI] Fix wheels by vmoens in https://github.com/pytorch/tensordict/pull/763
* [CI] Pinning mpmath by vmoens in https://github.com/pytorch/tensordict/pull/697
* [CI] Remove OSX x86 jobs by vmoens in https://github.com/pytorch/tensordict/pull/753
* [CI] Remove all osx x86 workflows by vmoens in https://github.com/pytorch/tensordict/pull/760
* [CI] Remove snapshot from CI by vmoens in https://github.com/pytorch/tensordict/pull/701
* [CI] Schedule workflow for release branches by vmoens in https://github.com/pytorch/tensordict/pull/759
* [CI] Unpin mpmath by vmoens in https://github.com/pytorch/tensordict/pull/702
* [Doc,CI] Sanitize version by vmoens in https://github.com/pytorch/tensordict/pull/762
* [Doc] Fix EnsembleModule docstring by BY571 in https://github.com/pytorch/tensordict/pull/712
* [Doc] Fix probabilistic td module doc by vmoens in https://github.com/pytorch/tensordict/pull/756
* [Doc] Installation instructions in API ref by vmoens in https://github.com/pytorch/tensordict/pull/660
* [Doc] Per-release docs by vmoens in https://github.com/pytorch/tensordict/pull/758
* [Doc] fix typo by husisy in https://github.com/pytorch/tensordict/pull/724
* [Feature] Adds utils method isin by albertbou92 in https://github.com/pytorch/tensordict/pull/654
* [Feature] Adds utils method remove_duplicates by albertbou92 in https://github.com/pytorch/tensordict/pull/653
* [Feature] Inherit lock in shape / tensor ops by vmoens in https://github.com/pytorch/tensordict/pull/730
* [Feature] Store non tensor stacks in a single json by vmoens in https://github.com/pytorch/tensordict/pull/711
* [Feature] TensorDict logger by vmoens in https://github.com/pytorch/tensordict/pull/710
* [Feature] TensorDict.depth property by vmoens in https://github.com/pytorch/tensordict/pull/732
* [Feature] Use generator for map by vmoens in https://github.com/pytorch/tensordict/pull/672
* [Feature] Warn when `reset_parameters_recursive` is a no-op by matteobettini in https://github.com/pytorch/tensordict/pull/693
* [Feature] `from_modules` method for MOE / ensemble learning by vmoens in https://github.com/pytorch/tensordict/pull/677
* [Feature] td_flatten_with_keys by vmoens in https://github.com/pytorch/tensordict/pull/675
* [Feature] tensordict.to_padded_tensor by vmoens in https://github.com/pytorch/tensordict/pull/723
* [Feature] use return_mask as a string in pad_sequence by dtsaras in https://github.com/pytorch/tensordict/pull/739
* [Minor] Minor improvements to tensorclass by vmoens in https://github.com/pytorch/tensordict/pull/743
* [Minor] Remove double locks on data and grad by vmoens in https://github.com/pytorch/tensordict/pull/752
* [Refactor, Feature] Default to empty batch size by vmoens in https://github.com/pytorch/tensordict/pull/674
* [Refactor] Cleanup deprecation of empty td filtering in apply by vmoens in https://github.com/pytorch/tensordict/pull/665
* [Refactor] Refactor contiguous by vmoens in https://github.com/pytorch/tensordict/pull/716
* [Refactor] Set lazy_legacy to False by default by vmoens in https://github.com/pytorch/tensordict/pull/680
* [Test] Add proper tests for torch.stack with lazy stacks by vmoens in https://github.com/pytorch/tensordict/pull/715
* [Versioning] Remove deprecated features by vmoens in https://github.com/pytorch/tensordict/pull/747
* [Versioning] Torch version by vmoens in https://github.com/pytorch/tensordict/pull/749
* [Versioning] v0.4.0 by vmoens in https://github.com/pytorch/tensordict/pull/649

New Contributors
* dtsaras made their first contribution in https://github.com/pytorch/tensordict/pull/652
* BY571 made their first contribution in https://github.com/pytorch/tensordict/pull/712
* husisy made their first contribution in https://github.com/pytorch/tensordict/pull/724
* albanD made their first contribution in https://github.com/pytorch/tensordict/pull/728

**Full Changelog**: https://github.com/pytorch/tensordict/compare/v0.3.0...v0.4.0

0.3.2

[BugFix,Feature] Optional non_blocking in set, to_module and update (718)
[Refactor] Refactor contiguous (716)
[Test] Add proper tests for torch.stack with lazy stacks (715)
[BugFix] Fix dense stack usage in torch.stack (714)
[BugFix] Dense stack lazy tds defaults to dense_stack_tds (713)
[Feature] Store non tensor stacks in a single json (711)
[Feature] TensorDict logger (710)
[BugFix, Feature] tensorclass.to_dict and from_dict (707)
[BugFix] Fix inheritance from non-tensor (709)
[Performance] Faster update_ (705)
[Benchmark] Benchmark update_ (704)
[Performance] Minor efficiency improvements (703)
[Feature] Allow non-tensordata to be shared across processes + memmap (699)
[CI] Unpin mpmath (702)
[CI] Remove snapshot from CI (701)
[BugFix] Support empty tuple in lazy stack indexing (696)
[CI] Pinning mpmath (697)
[BugFix] Allow inplace modification of non-tensor data in locked tds (694)
[Feature] Better detection of non-tensor data (685)
[Feature] Warn when reset_parameters_recursive is a no-op (693)
[BugFix,Feature] filter_empty in apply (661)

See the release on PyPI: https://pypi.org/project/tensordict/0.3.2/

0.3.1

Solves several bugs and performance issues.

List of changes:

- https://github.com/pytorch/tensordict/pull/652
- https://github.com/pytorch/tensordict/pull/691
- https://github.com/pytorch/tensordict/pull/690
- https://github.com/pytorch/tensordict/pull/689
- https://github.com/pytorch/tensordict/pull/688
- https://github.com/pytorch/tensordict/pull/687
- https://github.com/pytorch/tensordict/pull/686
- https://github.com/pytorch/tensordict/pull/684
- https://github.com/pytorch/tensordict/pull/683
- https://github.com/pytorch/tensordict/pull/681
- https://github.com/pytorch/tensordict/pull/682
- https://github.com/pytorch/tensordict/pull/678
- https://github.com/pytorch/tensordict/pull/673
- https://github.com/pytorch/tensordict/pull/671
- https://github.com/pytorch/tensordict/pull/670
- https://github.com/pytorch/tensordict/pull/669
- https://github.com/pytorch/tensordict/pull/665
- https://github.com/pytorch/tensordict/pull/664
- https://github.com/pytorch/tensordict/pull/662
- https://github.com/pytorch/tensordict/pull/658
- https://github.com/pytorch/tensordict/pull/657
- https://github.com/pytorch/tensordict/pull/655
- https://github.com/pytorch/tensordict/pull/650

0.3.0

In this release we introduce a bunch of exciting features to TensorDict:

- We deprecate MemmapTensor in favour of MemoryMappedTensor, which is fully backed by torch.Tensor and not numpy anymore. The new API is faster and way more bug-free than it used too. See 541

- Saving tensordicts on disk can now be done via `memmap`, `memmap_` and `memmap_like` which all support multithreading. If possible, serialization is pickle free (memmap + json) and `torch.save` is only used for classes that fail to be serialized with json. Serializing models using tensordict is now 3-10x faster than using torch.save, even for SOTA LLMs such as LLAMA.

- TensorDict can now carry non tensor data through the `NonTensorData` class. Assigning non-tensor data can also be done via `__setitem__` and they can be retrieved via `__getitem__`. 601

- A bunch of new operations have appeared too such as `named_apply` (apply with key names) or `tensordict.auto_batch_size_()`, and operations like update can now be achieved for only a subset of keys.

- Almost all operations in the library are now faster!

- We are slowing deprecating lazy classes except for `LazyStackedTensorDict`. Whereas `torch.stack` used to systematically return a lazy stack, it now returns a dense stack if the `set_lazy_legacy(mode)` decorator is set to `False` (which will be the default in the next release). The old behaviour can be set with `set_lazy_legacy(True)`. Lazy stacks can still be obtained using `LazyStackedTensorDict.lazy_stack`. Appropriate warnings are raised unless you have patched your code accordingly.

What's Changed
* [Refactor] MemoryMappedTensor by vmoens in https://github.com/pytorch/tensordict/pull/541
* [Feature] Multithread memmap by vmoens in https://github.com/pytorch/tensordict/pull/592
* [Refactor] Graceful as_tensor by vmoens in https://github.com/pytorch/tensordict/pull/549
* [Test] Fix as_tensor test by vmoens in https://github.com/pytorch/tensordict/pull/551
* Fix assignment of `str`-typed value to `_device` attribute in `MemmapTensor` by kurt-stolle in https://github.com/pytorch/tensordict/pull/552
* [Refactor] Refactor split by vmoens in https://github.com/pytorch/tensordict/pull/555
* [Refactor] Refactor implement_for by vmoens in https://github.com/pytorch/tensordict/pull/556
* [Feature] Better constructors for MemoryMappedTensors by vmoens in https://github.com/pytorch/tensordict/pull/557
* [CI] Fix benchmark on gpu by vmoens in https://github.com/pytorch/tensordict/pull/560
* [CI] Add regular benchmarks to CI in PRs without upload by vmoens in https://github.com/pytorch/tensordict/pull/561
* [Refactor] Major refactoring of codebase by vmoens in https://github.com/pytorch/tensordict/pull/559
* [Benchmark] Benchmark split and chunk by vmoens in https://github.com/pytorch/tensordict/pull/564
* [Performance] Faster split, chunk and unbind by vmoens in https://github.com/pytorch/tensordict/pull/563
* [Feature] Consolidate functional calls by vmoens in https://github.com/pytorch/tensordict/pull/565
* [Refactor] Improve functional call efficiency by vmoens in https://github.com/pytorch/tensordict/pull/567
* [Refactor] Do not lock nested tensordict in tensordictparams by vmoens in https://github.com/pytorch/tensordict/pull/568
* [Performance] Faster params and buffer registration in TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/569
* [BugFix] Graceful attribute error exit in TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/571
* [Refactor] Upgrade pytree import by vmoens in https://github.com/pytorch/tensordict/pull/573
* [BugFix] Compatibility with missing _global_parameter_registration_hooks by vmoens in https://github.com/pytorch/tensordict/pull/574
* [Feature] Seed workers in TensorDict.map by vmoens in https://github.com/pytorch/tensordict/pull/562
* [Performance] Faster update by vmoens in https://github.com/pytorch/tensordict/pull/572
* [Performance] Faster to_module by vmoens in https://github.com/pytorch/tensordict/pull/575
* [BugFix] _FileHandler for windows by vmoens in https://github.com/pytorch/tensordict/pull/577
* [Performance] Faster `__init__` by vmoens in https://github.com/pytorch/tensordict/pull/576
* [Feature, Test] Add tests for partial update by vmoens in https://github.com/pytorch/tensordict/pull/578
* [BugFix] No fallback on `TensorDictModule.__getattr__` for private attributes by vmoens in https://github.com/pytorch/tensordict/pull/579
* [BugFix] Fix deepcopy of TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/580
* Add MANIFEST.in by vmoens in https://github.com/pytorch/tensordict/pull/581
* [BugFix] Delete parameter/buffer before setting it with regular setattr in to_module by vmoens in https://github.com/pytorch/tensordict/pull/583
* [Feature] named_apply and default value in apply by vmoens in https://github.com/pytorch/tensordict/pull/584
* [BugFix] Faster empty_like for MemoryMappedTensor by vmoens in https://github.com/pytorch/tensordict/pull/585
* [BugFix] Faster empty_like for MemoryMappedTensor (dup) by vmoens in https://github.com/pytorch/tensordict/pull/586
* [BugFix] Adapt MemoryMappedTensor for torch < 2.0 by vmoens in https://github.com/pytorch/tensordict/pull/587
* [Performance] Make copy_ a no-op if tensors are identical by vmoens in https://github.com/pytorch/tensordict/pull/588
* [BugFix] Fix non-blocking arg in copy_ by vmoens in https://github.com/pytorch/tensordict/pull/590
* [Feature] Unbind and stack tds in map with chunksize=0 by vmoens in https://github.com/pytorch/tensordict/pull/589
* [Performance] Faster dispatch by vmoens in https://github.com/pytorch/tensordict/pull/487
* [Feature] Saving metadata of tensorclass by vmoens in https://github.com/pytorch/tensordict/pull/582
* [BugFix] Fix osx tests by vmoens in https://github.com/pytorch/tensordict/pull/591
* [Feature] Weakref for unlocking tds by vmoens in https://github.com/pytorch/tensordict/pull/595
* [BugFix] Fix pickling of weakrefs by vmoens in https://github.com/pytorch/tensordict/pull/597
* [Feature] Return early a tensordict created through memmap with multiple threads by vmoens in https://github.com/pytorch/tensordict/pull/598
* [CI] Depend on torch nightly for nightly releases by vmoens in https://github.com/pytorch/tensordict/pull/599
* [Feature] Storing non-tensor data in tensordicts by vmoens in https://github.com/pytorch/tensordict/pull/601
* [Feature, Test] FSDP and DTensors by vmoens in https://github.com/pytorch/tensordict/pull/600
* [Minor] Fix type deletion in tensorclass load_memmap by vmoens in https://github.com/pytorch/tensordict/pull/602
* [BugFix] Fix ellipsis check by vmoens in https://github.com/pytorch/tensordict/pull/604
* [Feature] Best intention stack by vmoens in https://github.com/pytorch/tensordict/pull/605
* [Feature] Remove and check for prints in codebase using flake8-print by vmoens in https://github.com/pytorch/tensordict/pull/603
* [Doc] Doc revamp by vmoens in https://github.com/pytorch/tensordict/pull/593
* [BugFix, Doc] Fix tutorial by vmoens in https://github.com/pytorch/tensordict/pull/606
* [BugFix] Fix gh-pages upload by vmoens in https://github.com/pytorch/tensordict/pull/607
* [BugFix] Upload content of html directly by vmoens in https://github.com/pytorch/tensordict/pull/608
* [Feature] Improve in-place ops for TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/609
* [BugFix, CI] Fix GPU benchmarks by vmoens in https://github.com/pytorch/tensordict/pull/611
* [Feature] inplace to_module by vmoens in https://github.com/pytorch/tensordict/pull/610
* [Versioning] Bump v0.3.0 by vmoens in https://github.com/pytorch/tensordict/pull/613
* [Feature] Support group specification by lucifer1004 in https://github.com/pytorch/tensordict/pull/616
* [Refactor] Remove remaining MemmapTensor references by vmoens in https://github.com/pytorch/tensordict/pull/617
* [Tests] Reorder and regroup tests by vmoens in https://github.com/pytorch/tensordict/pull/614
* [Performance] Faster set by vmoens in https://github.com/pytorch/tensordict/pull/619
* [Performance] Better shared/memmap inheritance and faster exclude by vmoens in https://github.com/pytorch/tensordict/pull/621
* [Benchmark] Benchmark select, exclude and empty by vmoens in https://github.com/pytorch/tensordict/pull/623
* [Feature] Improve the `empty` method by vmoens in https://github.com/pytorch/tensordict/pull/622
* [BugFix] Fix is_memmap attribute for memmap_like and memmap by vmoens in https://github.com/pytorch/tensordict/pull/625
* Bump jinja2 from 3.1.2 to 3.1.3 in /docs by dependabot in https://github.com/pytorch/tensordict/pull/626
* [BugFix] Remove shared/memmap inheritance from clone / select / exclude by vmoens in https://github.com/pytorch/tensordict/pull/624
* [BugFix] Fix `index in list` error by vmoens in https://github.com/pytorch/tensordict/pull/627
* [Refactor] Make unbind call tensor.unbind by vmoens in https://github.com/pytorch/tensordict/pull/628
* [Feature] `auto_batch_size_` by vmoens in https://github.com/pytorch/tensordict/pull/630
* [BugFix] Fix NonTensorData interaction by vmoens in https://github.com/pytorch/tensordict/pull/631
* [Doc] More doc on how to set and get non-tensor data by vmoens in https://github.com/pytorch/tensordict/pull/632
* [Feature] _auto_make_functional and _dispatch_td_nn_modules by vmoens in https://github.com/pytorch/tensordict/pull/633
* [BugFIx] Fix exclude indent by vmoens in https://github.com/pytorch/tensordict/pull/637
* [BugFix] Limit number of threads in workers for .map() by vmoens in https://github.com/pytorch/tensordict/pull/638
* [Feature] Robust to lazy_legacy set to false and context managers for reshape ops by vmoens in https://github.com/pytorch/tensordict/pull/634
* [Minor] Typo in lazy legacy warnings by vmoens in https://github.com/pytorch/tensordict/pull/639
* [Minor] NestedKey typing issues by vmoens in https://github.com/pytorch/tensordict/pull/640
* [Feature] nested_keys option in named_apply by vmoens in https://github.com/pytorch/tensordict/pull/641
* [Feature] Expose NestedKey in root by vmoens in https://github.com/pytorch/tensordict/pull/642

New Contributors
* kurt-stolle made their first contribution in https://github.com/pytorch/tensordict/pull/552
* lucifer1004 made their first contribution in https://github.com/pytorch/tensordict/pull/616
* dependabot made their first contribution in https://github.com/pytorch/tensordict/pull/626

**Full Changelog**: https://github.com/pytorch/tensordict/compare/v0.2.1...v0.3.0

0.2.1

**Full Changelog**: https://github.com/pytorch/tensordict/compare/v0.2.0...v0.2.1

0.2.0

New features
* [Feature] First class dim compatibility by vmoens in https://github.com/pytorch/tensordict/pull/525
* [Feature] CompositeDistribution by vmoens in https://github.com/pytorch/tensordict/pull/517
* [Feature] torch.where by vmoens in https://github.com/pytorch/tensordict/pull/507
* [Feature] `dense_stack_tds` by matteobettini in https://github.com/pytorch/tensordict/pull/506
* [Feature] TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/500
* [Feature] Hooks and Buffers for TensorDictParams by vmoens in https://github.com/pytorch/tensordict/pull/502
* [Feature] PyTree compatibility by vmoens in https://github.com/pytorch/tensordict/pull/501
* [Feature] from_module by vmoens in https://github.com/pytorch/tensordict/pull/423
* [Feature] Prevent lock/unlock conflicts for stacked and nested tensordicts by vmoens in https://github.com/pytorch/tensordict/pull/436
* [Feature] Lock check decorator by vmoens in https://github.com/pytorch/tensordict/pull/440
* [Feature] Cache for locked tensordicts by vmoens in https://github.com/pytorch/tensordict/pull/438
* [Feature] tensordict.transpose by vmoens in https://github.com/pytorch/tensordict/pull/467

What's Changed
* [Benchmark] Benchmark flatten / unflatten by vmoens in https://github.com/pytorch/tensordict/pull/439
* [Benchmark] Benchmark items, values and keys by vmoens in https://github.com/pytorch/tensordict/pull/428
* [Benchmark] Benchmark leaf membership by vmoens in https://github.com/pytorch/tensordict/pull/462
* [Benchmark] Benchmark set nested by vmoens in https://github.com/pytorch/tensordict/pull/459
* [Benchmark] Benchmark to(device) by vmoens in https://github.com/pytorch/tensordict/pull/385
* [Benchmark] Benchmark unbind by vmoens in https://github.com/pytorch/tensordict/pull/470
* [Benchmark] Benchmark vmap and stacked tds by vmoens in https://github.com/pytorch/tensordict/pull/430
* [Benchmark] Fix GPU benchmark by vmoens in https://github.com/pytorch/tensordict/pull/386
* [Benchmark] Memmap tensordict benchmarks by vmoens in https://github.com/pytorch/tensordict/pull/432
* [Benchmark] More benchmarks for get by vmoens in https://github.com/pytorch/tensordict/pull/477
* [Benchmark] More benchmarks for locked tds by vmoens in https://github.com/pytorch/tensordict/pull/437
* [Benchmark] Total time per benchmark for efficiency by vmoens in https://github.com/pytorch/tensordict/pull/446
* [BugFix] Fix EnsembleModule parameters exposure by vmoens in https://github.com/pytorch/tensordict/pull/508
* [BugFix] Fix None device when loading by vmoens in https://github.com/pytorch/tensordict/pull/425
* [BugFix] Fix benchmarks in PR comparison by vmoens in https://github.com/pytorch/tensordict/pull/442
* [BugFix] Fix benchmarks in PR comparison by vmoens in https://github.com/pytorch/tensordict/pull/447
* [BugFix] Fix error for incongruent devices in load_state_dict by vmoens in https://github.com/pytorch/tensordict/pull/529
* [BugFix] Fix error in state_dict tests by vmoens in https://github.com/pytorch/tensordict/pull/531
* [BugFix] Fix het lazy stack ops by vmoens in https://github.com/pytorch/tensordict/pull/416
* [BugFix] Fix hook call by vmoens in https://github.com/pytorch/tensordict/pull/457
* [BugFix] Fix indexing of lazy stacks by vmoens in https://github.com/pytorch/tensordict/pull/488
* [BugFix] Fix lazy stack / stack_onto + masking lazy stacks by vmoens in https://github.com/pytorch/tensordict/pull/497
* [BugFix] Fix lazy stack lock by vmoens in https://github.com/pytorch/tensordict/pull/452
* [BugFix] Fix lazy-stack to call to to_tensordict() by vmoens in https://github.com/pytorch/tensordict/pull/519
* [BugFix] Fix logical operations in MemmapTensor by vmoens in https://github.com/pytorch/tensordict/pull/484
* [BugFix] Fix max length by vmoens in https://github.com/pytorch/tensordict/pull/408
* [BugFix] Fix opt deps by vmoens in https://github.com/pytorch/tensordict/pull/464
* [BugFix] Fix params.clone by vmoens in https://github.com/pytorch/tensordict/pull/509
* [BugFix] Fix pickle PR by vmoens in https://github.com/pytorch/tensordict/pull/397
* [BugFix] Fix regex in tensorclass error checks by vmoens in https://github.com/pytorch/tensordict/pull/398
* [BugFix] Fix state-dict by vmoens in https://github.com/pytorch/tensordict/pull/528
* [BugFix] Fix test rename_key by vmoens in https://github.com/pytorch/tensordict/pull/441
* [BugFix] Fix unbind by vmoens in https://github.com/pytorch/tensordict/pull/471
* [BugFix] Fix wheels and nightly by vmoens in https://github.com/pytorch/tensordict/pull/417
* [BugFix] Fix writing on stacked tds in vmap by vmoens in https://github.com/pytorch/tensordict/pull/456
* [BugFix] Heterogeneous lazy stack apply(_) by vmoens in https://github.com/pytorch/tensordict/pull/400
* [BugFix] Keyword arguments with dispatch + select keys by vmoens in https://github.com/pytorch/tensordict/pull/409
* [BugFix] Nested keys to probabilistic modules by matteobettini in https://github.com/pytorch/tensordict/pull/479
* [BugFix] Overload expand by vmoens in https://github.com/pytorch/tensordict/pull/530
* [BugFix] Repr of het stacked tds by vmoens in https://github.com/pytorch/tensordict/pull/399
* [BugFix] Retrieve all keys for `LazyStackedTensorDict` by matteobettini in https://github.com/pytorch/tensordict/pull/512
* [BugFix] Torch 1.13 compat by vmoens in https://github.com/pytorch/tensordict/pull/421
* [BugFix] Torch 1.13 compat by vmoens in https://github.com/pytorch/tensordict/pull/424
* [BugFix] Torch 1.13 compat by vmoens in https://github.com/pytorch/tensordict/pull/429
* [BugFix] Unflatten names by vmoens in https://github.com/pytorch/tensordict/pull/472
* [BugFix] fix infinite loop by xmaples in https://github.com/pytorch/tensordict/pull/392
* [BugFix] from_module without detach by vmoens in https://github.com/pytorch/tensordict/pull/466
* [BugFix] stateless lstms by vmoens in https://github.com/pytorch/tensordict/pull/475
* [Bugfix] Indexing memmaps with torch.Tensor by tcbegley in https://github.com/pytorch/tensordict/pull/383
* [Bugfix] fix getitem by apbard in https://github.com/pytorch/tensordict/pull/384
* [CI] Concurrency on gha by vmoens in https://github.com/pytorch/tensordict/pull/387
* [CI] Fix Doc CI bis by matteobettini in https://github.com/pytorch/tensordict/pull/490
* [CI] Fix doc CI by matteobettini in https://github.com/pytorch/tensordict/pull/489
* [CI] Python 3.11 compatibility by vmoens in https://github.com/pytorch/tensordict/pull/516
* [CI] Removing myself from notified users in benchmarks by tcbegley in https://github.com/pytorch/tensordict/pull/483
* [CI] nightly run by vmoens in https://github.com/pytorch/tensordict/pull/422
* [CI] nightly test by vmoens in https://github.com/pytorch/tensordict/pull/420
* [Doc] Fix missing packaging package by vmoens in https://github.com/pytorch/tensordict/pull/449
* [Doc] Update citation by vmoens in https://github.com/pytorch/tensordict/pull/404
* [Feature] Add EnsembleModule by smorad in https://github.com/pytorch/tensordict/pull/485
* [Feature] Add reset_parameters support to TensorDictModuleBase by smorad in https://github.com/pytorch/tensordict/pull/476
* [Feature] Better error message in tdmodule by vmoens in https://github.com/pytorch/tensordict/pull/390
* [Feature] Cat LazyStackedTensorDicts by matteobettini in https://github.com/pytorch/tensordict/pull/499
* [Feature] Create memmaps folders with makesdir by vmoens in https://github.com/pytorch/tensordict/pull/431
* [Feature] Functional reset_parameters by smorad in https://github.com/pytorch/tensordict/pull/478
* [Feature] Kwargs for tensordict modules by vmoens in https://github.com/pytorch/tensordict/pull/405
* [Feature] Module serialization by vmoens in https://github.com/pytorch/tensordict/pull/396
* [Feature] Module to add state independent normal scale by albertbou92 in https://github.com/pytorch/tensordict/pull/515
* [Feature] Print lazy fields by matteobettini in https://github.com/pytorch/tensordict/pull/493
* [Feature] Registering a tensordict as a module buffer by vmoens in https://github.com/pytorch/tensordict/pull/395
* [Feature] Support classmethods in tensorclass by vmoens in https://github.com/pytorch/tensordict/pull/448
* [Feature] TensorDict.map by vmoens in https://github.com/pytorch/tensordict/pull/518
* [Feature] Torch 1.13 compatibility by vmoens in https://github.com/pytorch/tensordict/pull/414
* [Feature] Unravel nested keys by vmoens in https://github.com/pytorch/tensordict/pull/403
* [Feature] as_decorator and __enter__ __exit__ methods by vmoens in https://github.com/pytorch/tensordict/pull/455
* [Feature] batch_dims for from_dict by vmoens in https://github.com/pytorch/tensordict/pull/460
* [Feature] unravel_key_list by vmoens in https://github.com/pytorch/tensordict/pull/474
* [Minor] Add dist/ to gitignore. by skandermoalla in https://github.com/pytorch/tensordict/pull/492
* [Minor] Better errors for kwargs and key selection by vmoens in https://github.com/pytorch/tensordict/pull/415
* [Minor] Fix typo in _propagate_unlock by vmoens in https://github.com/pytorch/tensordict/pull/443
* [Minor] Key filtering error fixes during deletion by vmoens in https://github.com/pytorch/tensordict/pull/481
* [Misc] Move to PyTorch compat by vmoens in https://github.com/pytorch/tensordict/pull/533
* [Perf] Perf improvements by vmoens in https://github.com/pytorch/tensordict/pull/412
* [Performance] Better names handling in LazyStackTD by vmoens in https://github.com/pytorch/tensordict/pull/482
* [Performance] Faster functional by vmoens in https://github.com/pytorch/tensordict/pull/418
* [Performance] Faster keys by vmoens in https://github.com/pytorch/tensordict/pull/427
* [Performance] Faster vmap by vmoens in https://github.com/pytorch/tensordict/pull/426
* [Performance] Refactor get by vmoens in https://github.com/pytorch/tensordict/pull/445
* [Performance] Speed improvements by vmoens in https://github.com/pytorch/tensordict/pull/410
* [Performance] use __dict__ for modules in swap states by vmoens in https://github.com/pytorch/tensordict/pull/419
* [Refactor] Better key membership check by vmoens in https://github.com/pytorch/tensordict/pull/461
* [Refactor] Better key membership check by vmoens in https://github.com/pytorch/tensordict/pull/465
* [Refactor] Better keys for cache to reduce mem footprint by vmoens in https://github.com/pytorch/tensordict/pull/454
* [Refactor] Bottom-up get_tuple by vmoens in https://github.com/pytorch/tensordict/pull/451
* [Refactor] Faster benchmarks by vmoens in https://github.com/pytorch/tensordict/pull/453
* [Refactor] Faster creation on device by vmoens in https://github.com/pytorch/tensordict/pull/389
* [Refactor] Faster indexing of memmap tensors by vmoens in https://github.com/pytorch/tensordict/pull/433
* [Refactor] Fix warnings by vmoens in https://github.com/pytorch/tensordict/pull/402
* [Refactor] Minor refactorings to tensorclass by vmoens in https://github.com/pytorch/tensordict/pull/435
* [Refactor] Refactor to create empty tds where necessary by vmoens in https://github.com/pytorch/tensordict/pull/522
* [Refactor] Refactor to() by vmoens in https://github.com/pytorch/tensordict/pull/381
* [Refactor] Simplify exclude by vmoens in https://github.com/pytorch/tensordict/pull/391
* [Refactor] TensorDict.to() signature by vmoens in https://github.com/pytorch/tensordict/pull/520
* [Refactor] _set_str and _set_tuple by vmoens in https://github.com/pytorch/tensordict/pull/480
* [Refactor] unravel_key fixes by vmoens in https://github.com/pytorch/tensordict/pull/473
* [Setup] Update setup.py python versions by vmoens in https://github.com/pytorch/tensordict/pull/521
* [Test,CI,Feature] Total time per test by vmoens in https://github.com/pytorch/tensordict/pull/407

* New Contributors
* xmaples made their first contribution in https://github.com/pytorch/tensordict/pull/392
* smorad made their first contribution in https://github.com/pytorch/tensordict/pull/476
* matteobettini made their first contribution in https://github.com/pytorch/tensordict/pull/479
* skandermoalla made their first contribution in https://github.com/pytorch/tensordict/pull/492
* albertbou92 made their first contribution in https://github.com/pytorch/tensordict/pull/515

**Full Changelog**: https://github.com/pytorch/tensordict/compare/v0.1.2...v0.2.0

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.