SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2102.05095 · ICML · 2021

Is Space-Time Attention All You Need for Video Understanding?

Gedas Bertasius, Lorenzo Torresani, Heng Wang

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 43 functions out of this paper's own repositories and ran 35 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
jerrywn121/TianChi_AIEarth — 11 of 12
lucidrains/TimeSformer-pytorch reimplementation 10 of 12
The-AI-Summer/self-attention-cv — 7 of 9
m-bain/video-transformers — 3 of 5
halixness/generative_timesformer_pytorch — 3 of 3
copy not recorded — 1 of 1
yiyixuxu/TimeSformer-rolled-attention extension 0 of 1
FunctionStatusWhere it lives
Attention Ran halixness/generative_timesformer_pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("9e6eb12055d4b5db")
AxialRotaryEmbedding Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("2125f85e76f4efc7")
Decoder Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("3c436600aed6654a")
DecoderLayer Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("1879ef86738392c0")
Encoder Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("070741108b175c8f")
EncoderLayer Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("38ab040cbcf984b8")
FeedForward Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("0183b5f0d306482f")
GEGLU Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("384419959d31762c")
Mlp Ran m-bain/video-transformers/video-transformers/timesformer.py
code served (permissive licence) · get_code("409ab4896697a02f")
MultiHeadedAttention Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("bb5aa1cbee56c9d7")
PreNorm Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("8bb9d8688ba435cf")
PreTokenShift Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("42b61b5b4f622a76")
RotaryEmbedding Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("4e0216fcf6abef9d")
SpaceAttention Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("cf33bd73aa85bae0")
SpacetimeMHSA Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("6ed6a97e76e9e405")
SublayerConnection Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("2c2573860f1078bc")
TimeAttention Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("0f190b82b567601a")
TimeSformer Ran halixness/generative_timesformer_pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("1e12db9a2b6a6d61")
TimeSformerBlock Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("b5fc28091e91cbe9")
VarAttention Ran m-bain/video-transformers/video-transformers/timesformer.py
code served (permissive licence) · get_code("90617d5175fc43de")
VideoPatchEmbed Ran m-bain/video-transformers/video-transformers/timesformer.py
code served (permissive licence) · get_code("02e3cffeb7724448")
apply_rot_emb Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("b47a2562da71bf81")
attn Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("5d2b139fbe3e2fe5")
attn Ran halixness/generative_timesformer_pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("c9b2023a8e7f543b")
exists Ran this paper's copy was not recorded; identical code first harvested from ThomasMrY/VCT
pointer only · get_code("aa5486a3650902d8")
fold_tensor Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("382b7426a720dd16")
input_embedding Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("d1d6c81b2e101027")
merge_timespace Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("d153fd18d2c78fd5")
project_vk_linformer Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("3b4883ee8560ec7c")
rotate_every_two Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("07e3c5417d5f77fc")
shift Ran lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("f6e07e75149898e3")
space_att_rearrange Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("214635d3580c503e")
split_cls Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("43ee896c0cb92a0e")
time_att_rearrange Ran The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("2349364a5be28b97")
unfold_StackOverChannel Ran jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("5eee191e9a7fe18e")
Attention Not yet run lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("f7e0694aefe90304")
SpaceTimeBlock Not yet run m-bain/video-transformers/video-transformers/timesformer.py
code served (permissive licence) · get_code("2af0e5fbba35a2f7")
SpaceTimeTransformer Not yet run jerrywn121/TianChi_AIEarth/STTransformer/transformer.py
pointer only (licence: NONE) · get_code("9323660c90d8a3a4")
TimeSformer Not yet run lucidrains/TimeSformer-pytorch/timesformer_pytorch/timesformer_pytorch.py
code served (permissive licence) · get_code("1c93e555127bcf25")
Timesformer Not yet run The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("cc63279ce5b42414")
Timesformer Not yet run m-bain/video-transformers/video-transformers/timesformer.py
code served (permissive licence) · get_code("9ad394810b771a6b")
compute_mhsa Not yet run The-AI-Summer/self-attention-cv/self_attention_cv/timesformer/timesformer.py
code served (permissive licence) · get_code("e29cd379b8279b38")
get_frames Not yet run yiyixuxu/TimeSformer-rolled-attention/visualize_attn_util.py
pointer only (licence: NONE) · get_code("7c6f43d2449917c6")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

We present a convolution-free approach to video classification built exclusively on self-attention over space and time. Our method, named "TimeSformer," adapts the standard Transformer architecture to video by enabling spatiotemporal feature learning directly from a sequence of framelevel patches. Our experimental study compares different self-attention schemes and suggests that "divided attention," where temporal attention and spatial attention are separately applied within each block, leads to the best video classification accuracy among the design choices considered. Despite the radically new design, TimeSformer achieves state-of-the-art results on several action recognition benchmarks, including the best reported accuracy on Kinetics-400 and Kinetics-600. Finally, compared to 3D convolutional networks, our model is faster to train, it can achieve dramatically higher test efficiency (at a small drop in accuracy), and it can also be applied to much longer video clips (over one minute long). Code and models are available at: https://github.com/ facebookresearch/TimeSformer.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2102.05095")
get_code_for_paper("2102.05095")
have("2102.05095")

Connect an agent — have() is free.