-
Notifications
You must be signed in to change notification settings - Fork 7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the expected removal date for several deprecated API for release v0.14 #6654
Update the expected removal date for several deprecated API for release v0.14 #6654
Conversation
Thanks Yosua. Following our internal discussions, the changes relating to the transforms are not controversial. However, I have reservations about removing the expected removal date of
I personally think addressing b) by upping the targetted removal to to e.g. 0.16 (or 0.17) is sensible, as long as we treat this as exceptional. But this PR tries to address c) by not committing to a removal date - this is where I'm becoming less comfortable with it. First, a sad observation:
This is what all libraries do. That's the sad reality of being a downstream libs: you have to write custom code to navigate deprecations and handle different versions of your dependencies. We have to deal with that ourselves in torchvision for our PIL dependency! Next, some concerns: by not committing to a removal date, we are i) being inconsistent with our deprecation policy and the rest of our deprecated APIs, and ii) not encouraging downstream libraries to migrate: why would they migrate if they don't have to? That can slow down adoption too. On top of that, not committing to a removal date essentially means that we'll only be able to remove these APIs after all downstream libs have migrated. Since we can't keep track of all of them, that essentially means, IIUC, that we can only remove these once a new LTS pops up? Perhaps I'm missing or misunderstanding some things, but this change seems to open the door to various unexpected and undesirable situations (which go beyond torchvision BTW, since our deprecation policy comes straight from that of core). If possible, I'd like to discuss this more with the team in details and align on a path forward, where everyone is on the same page regarding the pros and cons of each alternatives. |
@NicolasHug thanks for writing up your opinion, and I think it make sense and I agree that having "when" we will remove it can give urgency to downstream users (otherwise they will prefer not to change) and if we should have it if we really want the user to migrate to the new API. That being said, I think for And for us to decide when is the good version to remove, it also need effort to estimate how much commitment to follow up after that (to give support to the internal users and oss) to make sure we dont break too much things. And I think until release v0.14 we dont have enough time to decide when is the good version to remove. In my opinion the other option that we can do:
|
You're right for big changes or major features, it's worth raising awareness outside of the simple deprecation warnings. Vasilis has done a great job at that already, and the deprecation was announced in the following blog post: https://pytorch.org/blog/introducing-torchvision-new-multi-weight-support-api/#deprecations. The new API itself was announced in other posts / tweets / RFCs / release highlights so there's quite a bit of documentation about it already (and the fact that it replaces the old one) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, the proposed change aligns with our internal discussions. This was not an easy choice but we should unblock the PR to prepare the upcoming release.
Hey @YosuaMichael! You merged this PR, but no labels were added. The list of valid labels is available at https://github.com/pytorch/vision/blob/main/.github/process_commit.py |
…for release v0.14 (#6654) Summary: * Update the expected removal date for several deprecated API * Revert the change in models/_utils.py * Remove removal date on pretrained=True * Update another message related to pretrained=True * Also update the warning in kwonly_to_pos_or_kw decorator * Update remaining message in _utils.py Reviewed By: datumbox Differential Revision: D40138732 fbshipit-source-id: 02d168495b8964b85519266ba1d9f773ed634351
Related to discussion: #6258 (comment)
transforms/_functional_video.py
andtransforms/_transforms_video.py
since we dont have alternatives, and we remove the expected date until we have alternatives and know we can safely remove these files.Let me know if you have any opinion on this!