Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Update torch requirement from <=1.4.0,>1.3.1 to >1.3.1,<1.6.0 #4118

Merged
merged 8 commits into from
Apr 24, 2020

Conversation

dependabot-preview[bot]
Copy link
Contributor

Updates the requirements on torch to permit the latest version.

Release notes

Sourced from torch's releases.

Stable C++ Frontend, Distributed RPC framework, and more. New experimental higher-level autograd API, Channels Last memory format, and more.

PyTorch 1.5.0 Release Notes

  • Highlights
  • Known Issues
  • Backwards Incompatible Changes
    • Python
    • C++ API
    • JIT
    • Quantization
    • RPC
  • New Features
  • Improvements
  • Bug Fixes
  • Performance
  • Documentation
  • Deprecations
    • Python
    • C++ API
  • Miscellaneous

Highlights

This release includes several major new API additions and improvements. These include new APIs for autograd allowing for easy computation of hessians and jacobians, a significant update to the C++ frontend, ‘channels last’ memory format for more performant computer vision models, a stable release of the distributed RPC framework used for model parallel training, and a new API that allows for the creation of Custom C++ Classes that was inspired by PyBind. Additionally torch_xla 1.5 is now available and tested with the PyTorch 1.5 release providing a mature Cloud TPU experience.

C++ Frontend API [Now Stable]

The C++ frontend API is now at parity with Python and the features overall has been moved to ‘stable’. (previously tagged as experimental). Some of the major highlights include:

  • C++ torch::nn module/functional are now at ~100% parity with Python API, with appropriate documentation. Now users can easily translate their model from Python API to C++ API, making the model authoring experience much smoother.
  • C++ optimizers now behave identically to the Python API. In the past, optimizers in C++ had deviated from the Python equivalent: C++ optimizers couldn’t take parameter groups as input while the Python ones could. Also step function implementations were not exactly the same. With the 1.5 release, C++ optimizers will always behave the same as the Python equivalent.
  • New C++ tensor multi-dim indexing API which looks and behaves the similar to the Python API. The previous workaround was to use a combination of narrow / select / index_select / masked_select, which is clunky and error-prone compared to the Python API’s elegant tensor[:, 0, ..., mask] syntax. With the 1.5 release users can use tensor.index({Slice(), 0, "...", mask}) to achieve the same result.

Channels last memory format for Computer Vision models [Experimental]

Channels Last memory format is an alternative way of ordering NCHW tensors in memory while preserving the NCHW semantic dimensions ordering. Channels Last tensors are ordered in memory in such a way that channels become the densest dimension (aka storing images pixel-per-pixel).

Channels Last memory format unlocks the ability to use performance efficient convolution algorithms and hardware (NVidia’s Tensor Cores, FBGEMM, QNNPACK). Additionally it was designed to automatically propagate through the operators, which allows easy switching between memory layouts.

Learn more here on how to write memory format aware operators.

Custom C++ Classes [Experimental]

This release adds a new API for binding custom C++ classes into TorchScript and Python simultaneously. This API is almost identical in syntax to pybind11. It allows users to expose their C++ class and its methods to the TorchScript type system and runtime system such that they can instantiate and manipulate arbitrary C++ objects from TorchScript and Python. An example C++ binding:

template <class T>
struct MyStackClass : torch::CustomClassHolder {
  std::vector<T> stack_;
  MyStackClass(std::vector<T> init) : stack_(std::move(init)) {}
</tr></table> ... (truncated)
Commits
  • 4ff3872 [v.1.5.0] Ensure linearIndex of advanced indexing backwards is contig… (#36962)
  • d7bdffa [v1.5 Patch] Disable flaky test_backward_node_failure_python_udf test in dist...
  • 9ba0a89 Overwrite bazel if /usr/bin/bazel already exists.
  • c164fbc Add TorchServe
  • 9a51e47 make simple executor the default for OSS
  • 375566f Handle log_sigmoid(out=) properly.
  • dfdc788 Fix incorrect merge of #34136.
  • 9e6ef81 [v1.5.0] Print keyword-only arg symbol for function signature suggestions.
  • 3146180 Migrate release CI jobs to CircleCI for Windows (v1.5 Release) (#36658)
  • e741839 Fixing SyncBN dgrad (#36382)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Updates the requirements on [torch](/~https://github.com/pytorch/pytorch) to permit the latest version.
- [Release notes](/~https://github.com/pytorch/pytorch/releases)
- [Commits](pytorch/pytorch@v1.4.0a0...v1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@dependabot-preview dependabot-preview bot added the dependencies Pull requests that update a dependency file label Apr 22, 2020
@epwalsh
Copy link
Member

epwalsh commented Apr 22, 2020

Looks like torch wasn't upgraded in the GitHub Actions workflow. That should be fixed by this change though: 98a2953#diff-04eb107ee163a50b61281ca08f4e4c7bR37

There's another pip flag that needs to be set --upgrade-strategy eager. See #4120

@epwalsh
Copy link
Member

epwalsh commented Apr 22, 2020

Seems I'm running into this now actions/cache#208 (comment)

@epwalsh
Copy link
Member

epwalsh commented Apr 22, 2020

Ok this is now failing where it's supposed to, which is somewhere in ELMO.

@dependabot-preview
Copy link
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot-preview dependabot-preview bot deleted the dependabot/pip/torch-gt-1.3.1-and-lt-1.6.0 branch April 24, 2020 19:03
@epwalsh epwalsh restored the dependabot/pip/torch-gt-1.3.1-and-lt-1.6.0 branch April 24, 2020 19:04
@epwalsh epwalsh reopened this Apr 24, 2020
@epwalsh epwalsh merged commit 5e8b2ba into master Apr 24, 2020
@epwalsh epwalsh deleted the dependabot/pip/torch-gt-1.3.1-and-lt-1.6.0 branch April 24, 2020 19:59
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant