Skip to content
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

TorchVision Roadmap - 2021 H1 #3221

Closed
12 of 13 tasks
datumbox opened this issue Jan 5, 2021 · 17 comments
Closed
12 of 13 tasks

TorchVision Roadmap - 2021 H1 #3221

datumbox opened this issue Jan 5, 2021 · 17 comments

Comments

@datumbox
Copy link
Contributor

datumbox commented Jan 5, 2021

This issue is be used to keep track of the roadmap of TorchVision and get feedback from our users.

For the 2021-H2 roadmap, please see #4187

@masahi
Copy link
Contributor

masahi commented Jan 5, 2021

Can we revisit various workarounds for tracing Faster RCNN / MaskRCNN ? There are many such special code-path for tracing mode, to support ONNX export. These code were added one year ago when PyTorch ONNX had many limitation. Especially the one below does repeated concat in a loop so it is not efficient.

@torch.jit._script_if_tracing
def _onnx_paste_masks_in_image_loop(masks, boxes, im_h, im_w):
res_append = torch.zeros(0, im_h, im_w)
for i in range(masks.size(0)):
mask_res = _onnx_paste_mask_in_image(masks[i][0], boxes[i], im_h, im_w)
mask_res = mask_res.unsqueeze(0)
res_append = torch.cat((res_append, mask_res))
return res_append

Now that PyTorch ONNX export has support for lists and also inplace assignment, I think many of those workarounds can be removed. Even if removing is not possible, we should be able to make them more efficient, thanks to the improved ONNX export support in recent PyTorch. For example, The snippet above can be replaced with the one below, which uses a batched concat. I confirmed that ONNX export of maskrcnn works with this change applied. This is also what TVM prefers.

@torch.jit._script_if_tracing
def _onnx_paste_masks_in_image_loop(masks, boxes, im_h, im_w):
    res = []
    for i in range(masks.size(0)):
        mask_res = _onnx_paste_mask_in_image(masks[i][0], boxes[i], im_h, im_w)
        res += [mask_res]
    return torch.stack(res, dim=0)[:, None]

cc @fmassa @lara-hdr

@fmassa
Copy link
Member

fmassa commented Jan 6, 2021

@masahi I would be happy to accept a PR to improve the ONNX export path, and removing as many workarounds as possible would be awesome. I've opened an issue in #3225 to centralize this discussion there.

@oke-aditya
Copy link
Contributor

oke-aditya commented Jan 17, 2021

Just linking a few trackers here

@vfdev-5
Copy link
Collaborator

vfdev-5 commented Jan 28, 2021

How about adding RandAugment, in addition to already implemented AutoAugment ?

@nSircombe
Copy link

Hi,

I was just wondering if there are any plans to add support for the QNNpack backend to the quantised ResNet50 model? (this would enable quantised ResNet50 for AArch64, which isn't supported by the FBGEMM backend).

@zhiqwang
Copy link
Contributor

zhiqwang commented Mar 4, 2021

  • Mobile support:
    • Support D2Go OSS

Is the newly released d2go mentioned here?

@oke-aditya
Copy link
Contributor

oke-aditya commented Apr 25, 2021

Thoughts about FastAutoAugment ?

@jamt9000
Copy link
Contributor

  • Add GPU/CUDA ops for image decoding (jpeg)

Implemented in #3792

@oke-aditya
Copy link
Contributor

Rotated Boxes RFC #2761.

@fmassa
Copy link
Member

fmassa commented May 12, 2021

@nSircombe

I was just wondering if there are any plans to add support for the QNNpack backend to the quantised ResNet50 model? (this would enable quantised ResNet50 for AArch64, which isn't supported by the FBGEMM backend).

can you please open a new issue so that we can track this?

@zhiqwang

Is the newly released d2go mentioned here?

yes, exactly

@oke-aditya

Thoughts about FastAutoAugment ?

Can you open a new issue so that we can track it down and discuss it there?

@nSircombe
Copy link

Hi @fmassa,

I currently have #3362 open (I should have added this in my original comment, sorry), will that suffice?

@Atze00
Copy link

Atze00 commented Jun 30, 2021

Is there any interest in adding MoViNets or some other state of the art models in video understanding?
Are models valuable also if they are not pretrained/someone has the possibility to train them before pushing to Pytorch?
Otherwise these models may use imported weights from tf, with the overhead of same padding, but I'm not convinced about this option.

@NicolasHug
Copy link
Member

NicolasHug commented Jul 16, 2021

I updated the post with our roadmap for H2. Actually, I created a new issue #4187 to avoid mixing discussions

Comments and suggestions are welcome :) !

@NicolasHug
Copy link
Member

@Atze00 there's no current plan to support MoViNets but regarding video understanding, we're planning to support Optical Flow with a RAFT implementation

Are models valuable also if they are not pretrained/someone has the possibility to train them before pushing to Pytorch?

Could you clarify what you mean? I'm not sure this answers your question but in general, when we implement a model in torchvision we provide the architecture, the pre-trained weights, and also some training receipe

@NicolasHug NicolasHug changed the title TorchVision Roadmap TorchVision Roadmap - 2021 H1 Jul 16, 2021
@Atze00
Copy link

Atze00 commented Jul 19, 2021

@NicolasHug My question was based on the fact that I've been working on implementing movinets in pytorch, using the weights released by the authors in TF. I've been wondering if the code alone would be enough to discuss about a possible addition of this architecture into the roadmap. Unfortunately I don't have the resources or the experience necessary to reproduce state of the art results in video understanding.

@datumbox
Copy link
Contributor Author

@fmassa @NicolasHug Shall we close this issue in favor of #4187?

Since only the rotated boxes RFC is still open we could consider moving it on H2 or omit it if nobody wants to pick it up.

@datumbox
Copy link
Contributor Author

Moved the pending to H2 at #4187, closing this issue.

@datumbox datumbox unpinned this issue Aug 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants