Swin-Transformer
pytorch-image-models
Swin-Transformer | pytorch-image-models | |
---|---|---|
23 | 35 | |
12,975 | 29,751 | |
1.5% | 1.2% | |
2.8 | 9.4 | |
20 days ago | 9 days ago | |
Python | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Swin-Transformer
-
Samsung expected to report 80% profit plunge as losses mount at chip business
> there is really nothing that "normal" AI requires that is bound to CUDA. pyTorch and Tensorflow are backend agnostic (ideally...).
There are a lot of optimizations that CUDA has that are nowhere near supported in other software or even hardware. Custom cuda kernels also aren't as rare as one might think, they will often just be hidden unless you're looking at libraries. Our more well known example is going to be StyleGAN[0] but it isn't uncommon to see elsewhere, even in research code. Swin even has a cuda kernel[1]. Or find torch here[1] (which github reports that 4% of the code is cuda (and 42% C++ and 2% C)). These things are everywhere. I don't think pytorch and tensorflow could ever be agnostic, there will always be a difference just because you have to spend resources differently (developing kernels is time resource). We can draw evidence by looking at Intel MKL, which is still better than open source libraries and has been so for a long time.
I really do want AMD to compete in this space. I'd even love a third player like Intel. We really do need competition here, but it would be naive to think that there's going to be a quick catchup here. AMD has a lot of work to do and posting a few bounties and starting a company (idk, called "micro grad"?) isn't going to solve the problem anytime soon.
And fwiw, I'm willing to bet that most AI companies would rather run in house servers than from cloud service providers. The truth is that right now just publishing is extremely correlated to compute infrastructure (doesn't need to be but with all the noise we've just said "fuck the poor" because rejecting is easy) and anyone building products has costly infrastructure.
[0] https://github.com/NVlabs/stylegan2-ada-pytorch/blob/d72cc7d...
[1] https://github.com/microsoft/Swin-Transformer/blob/2cb103f2d...
[2] https://github.com/pytorch/pytorch/tree/main/aten/src
- Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
- Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows
-
[D] Influential papers round-up 2022. What are your favorites?
ConvNeXt. The A ConvNet for the 2020s paper is a highlight for me because the authors were able to design a purely convolutional architecture that outperformed popular vision transformers such as Swin Transformer (and all convolutional neural networks that came before it, of course).
-
[R] LiBai: a large-scale open-source model training toolbox
Found relevant code at https://github.com/microsoft/Swin-Transformer + all code implementations here
-
Using VIT as a feature extractor
Figures aside, you can reform the image from the tokens if you want. This is what's done in SWIN transformers (https://arxiv.org/abs/2103.14030) patches are tokenized, transformed, and then re-assembled into an image-like tensor. The patchification is shifted at every other transformer stage so that there is more information that propagates from one patch to the next.
-
Pathways Autoregressive Text-to-Image Model (Parti)
Give it a few days and lucidrains will have the code up[0].
But in honesty, it is probably how people react. We saw this with Pulse, GPT, and many others. The authors are clear about the limitations but people talk it up too much and others shit on it. There's also a reproducibility crisis in ML (many famous networks, like Swin[1][2][3], can't be reproduced (even worse when reviewers concentrate on benchmarks)). It isn't like many can train a model like this anyways. It gives them benefit of the doubt and maintains good publicity rather than controversial.
Of course, this is extremely bad from an academic perspective and personally I believe you should have your paper revoked if it isn't reproducible. You'd be surprised how many don't track the random seed or measure variance. We have GitHub. You should be able to write training options that get approximately the same results as the paper. Otherwise I don't trust your results.
[0] https://github.com/lucidrains/parti-pytorch
[1] https://github.com/microsoft/Swin-Transformer/issues/183
[2] https://github.com/microsoft/Swin-Transformer/issues/180
[3] https://github.com/microsoft/Swin-Transformer/issues/148
-
[D] What do you value in a paper replication?
That's about it. I should be able to go to your code and hit run, and reproduce your results (or within the reported variance). If you don't meet any of these criteria them I'm going to be pretty upset and lose a lot of respect for your work. I think we should also put pressure on these papers if they don't meet these conditions, especially if they are pushing the benchmarks (I'm looking at you Swin). If you win on benchmarks due to silicon lottery, then we shouldn't be trusting you.
pytorch-image-models
- FLaNK AI Weekly 18 March 2024
-
[D] Hugging face and Timm
I am a PyTorch user I work in CV, I usually use the PyTorch models. However, I see people use timm in research papers to train their models I don't understand what it is timm is it a new framework like PyTorch? Further, when I click https://pypi.org/project/timm/ homepage it takes me to hugging face GitHub https://github.com/huggingface/pytorch-image-models is there any connection between timm and hugging face many of my friends use hugging face but I also don't know about hugging face I use simple PyTorch and torchvision.models.
-
FLaNK Stack Weekly for 07August2023
https://github.com/huggingface/pytorch-image-models https://huggingface.co/docs/timm/index
-
[R] Nvidia RTX 4090 ML benchmarks. Under QEMU/KVM. Image + Transformers. FP16/FP32.
pytorch-image-models
-
Inference on resent, cant work out the problem?
additionally, you might find the timm library handy for this sort of work.
-
Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows
This is still being pursued. Ross Wightmann's timm[0,1] package (now on Hugging Face) has done a lot of this. There's also a V2 of ConvNext[2]. Ross does write about this a lot on Twitter fwiw. I should also mention that there are still many transformer based networks that still beat convs. So there probably won't be a resurgence in convs until someone can show that there's a really strong reason for them. They have some advantages but they also might not be flexible enough for the long range tasks in segmentation and detection. But maybe they are.
FAIR definitely did great work with ConvNext, and I do hope to see more. There always needs to be people pushing unpopular paradigms.
[0] https://github.com/huggingface/pytorch-image-models
[1] https://arxiv.org/abs/2110.00476
[2] https://arxiv.org/abs/2301.00808
-
Problems with Learning Rate Finder in Pytorch Lightning
I am doing Binary classification with a pre-trained EfficientNet tf_efficientnet_l2. I froze all weights during training and replaced the classifier with a custom trainable one that looks like:
-
PyTorch at the Edge: Deploying Over 964 TIMM Models on Android with TorchScript and Flutter
In this post, Iām going to show you how you can pick from over 900+ SOTA models on TIMM, train them using best practices with Fastai, and deploy them on Android using Flutter.
-
ImageNet Advise
The other thing is, try to find tricks to speed up your experiments (if not having done so already). The most obvious are mixed precision training, have your model train on a lower resolution input first and then increase the resolution later in the training, stochastic depth, and a bunch more stuffs. Look for implementations in https://github.com/rwightman/pytorch-image-models .
- Doubt about transformers
What are some alternatives?
Swin-Transformer-Tensorflow - Unofficial implementation of "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows" (https://arxiv.org/abs/2103.14030)
yolov5 - YOLOv5 š in PyTorch > ONNX > CoreML > TFLite
parti-pytorch - Implementation of Parti, Google's pure attention-based text-to-image neural network, in Pytorch
mmdetection - OpenMMLab Detection Toolbox and Benchmark
Video-Swin-Transformer - This is an official implementation for "Video Swin Transformers".
detectron2 - Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.
ConvNeXt - Code release for ConvNeXt model
mmcv - OpenMMLab Computer Vision Foundation
semantic-segmentation-pytorch - Pytorch implementation for Semantic Segmentation/Scene Parsing on MIT ADE20K dataset
segmentation_models.pytorch - Segmentation models with pretrained backbones. PyTorch.
tabular-dl-pretrain-objectives - Revisiting Pretrarining Objectives for Tabular Deep Learning
yolact - A simple, fully convolutional model for real-time instance segmentation.