Releases: pfnet/pytorch-pfn-extras
v0.5.5
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Fixes a bug that prevented calling
on_error
in extensions when an exception happened (#490). - Open snapshot files in binary mode (#483).
- Adds an
unstrip_tensor
script to improve compatibility with ONNX runtimes (#477) - Completes the typing support over the codebase.
- Corrects several minor issues with the training API.
See the list of merged pull-requests for the details.
v0.5.4
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Fixes the import error when
onnx
package is not installed
See the list of merged pull-requests for the details.
v0.5.3
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Adds a
CodeBlock
API to simplify writing customLogic
classes (#426). - Fixes bugs related to
Writer
objects termination and Tensorboard cleanup. - Improves typing support over the codebase.
- Store
ppe.__version__
in snapshot and warn if the version is different.
Backward-incompatible changes
- Mandatory use of
ppe.to
for Trainer APIs. Now an explicit callppe.to
is needed in the scripts before running the trainer.
See the list of merged pull-requests for the details.
v0.5.2
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Adds
create_distributed_subset_indices
to efficiently scatter datasets across distributed nodes. - Adds
ppe.nn.Ensure
module to assert shape or dtypes in PyTorch code. - Reduces the snapshot size when using
append=True
(output logs in JSON Lines or YAML) in LogReport. - Makes
Trainer
andEvaluator
public APIs so that users can add type annotations to user-definedLogic
andHandler
classes with these classes. - Deprecates
async
option from the trainer and introduces aDeferredResult
API instead. - Stores
time_summary
in TLS to avoid bugs related to multiprocessing.
Backward-incompatible changes
- Process-wide
TimeSummary
singleton instance (ppe.profiler.time_summary
) has been removed as it was not thread-safe and causing issues on multiprocessing/threading. In this release, you can obtain a thread-localTimeSummary
instance usingppe.profiler.get_time_summary()
.
See the list of merged pull-requests for the details.
v0.5.1
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Adds
ppe.onnx.grad
API to emit Gradient operator - Improves tensor stripping in
ppe.onnx
- Fixes
ProgressBar
extension always saysinf iters/sec
- Fixes several type annotation issues
See the list of merged pull-requests for the details.
v0.5.0
Enhancements and bug-fixes
This release includes the following enhancements and bug fixes:
- Adds a device-agnostic trainer and evaluator. Check the documentation.
- Adds typing support through the codebase.
- Adds online documentation.
- Shows evaluator name in the progress bar.
Backward-incompatible changes
- Drops support for PyTorch 1.7
- Deprecates the
LazyLinear
andLazyConvNd
modules since they have been upstreamed to PyTorch.
See the list of merged pull-requests for the details.
v0.4.5
This release includes the following enhancements and bug fixes:
- Fixes the Profiler API introduced in the v0.4.3 release to avoid initializing multiprocessing contexts and threads on
import pytorch_pfn_extras
. - Profiler now reports min/max times.
See the list of merged pull-requests for the details.
v0.4.4
This release includes the following enhancements and bug fixes:
- Restores support of Python 3.6 and 3.7, which was unexpectedly broken in the v0.4.3 release.
- Fixes broken styles on the documentation website.
See the list of merged pull-requests for the details.
v0.4.3
This release includes the following enhancements and bug fixes:
- Adds support to generate documentation using Read The Docs
- Adds logging support using the
ppe.logging.get_logger
interface. - Adds a profiler to measure timing in annotated code sections. (
ppe.training.extensions.ProfileReport
andppe.profiler.TimeSummary.report
) - Adds type annotations to several modules.
See the list of merged pull-requests for the details.
v0.4.2
This release includes the following enhancements and bug-fixes:
- Adds support for PyTorch 1.9, with this release the minimum supported PyTorch version is 1.7.
- Adds support for Python 3.9.
- Fixes issues with
LazyModules
when managing thestate_dict
. - Fixes issues with temporal backup files for snapshots.
See the list of merged pull-requests for the details.