Papers › EfficientNetV2: Smaller Models and Faster Training

EfficientNetV2: Smaller Models and Faster Training

1 Apr 2021arXiv:2104.00298archive 2025-07-28

Mingxing Tan, Quoc V. Le

This paper introduces EfficientNetV2, a new family of convolutional networks that have faster training speed and better parameter efficiency than previous models. To develop this family of models, we use a combination of training-aware neural architecture search and scaling, to jointly optimize training speed and parameter efficiency. The models were searched from the search space enriched with new ops such as Fused-MBConv. Our experiments show that EfficientNetV2 models train much faster than state-of-the-art models while being up to 6.8x smaller. Our training can be further sped up by progressively increasing the image size during training, but it often causes a drop in accuracy. To compensate for this accuracy drop, we propose to adaptively adjust regularization (e.g., dropout and data augmentation) as well, such that we can achieve both fast training and good accuracy. With progressive learning, our EfficientNetV2 significantly outperforms previous models on ImageNet and CIFAR/Cars/Flowers datasets. By pretraining on the same ImageNet21k, our EfficientNetV2 achieves 87.3% top-1 accuracy on ImageNet ILSVRC2012, outperforming the recent ViT by 2.0% accuracy while training 5x-11x faster using the same computing resources. Code will be available at https://github.com/google/automl/tree/master/efficientnetv2.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2104.00298")

Code

Syntology Ran 41 of 79 code samples harvested from 15 repositories linked to this paper; 38 have no recorded run. Of those that ran: 10 ran · honoured contract; 5 ran · our draft was wrong; 4 ran · fixture could not drive it; 22 ran with no contract checked.

By repository: official repository: 1 sample from 1 repository, 1 ran; community (archive-listed): 76 samples from 13 repositories, 38 ran; community: 2 samples from 1 repository, 2 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

26 repositories listed; official and paper-mentioned ones first.

google/automl officialtf report
rwightman/pytorch-image-models mentioned in papermentioned on GitHubpytorch report
IMvision12/keras-vision-models mentioned on GitHubpytorch report
abhuse/pytorch-efficientnet mentioned on GitHubpytorch report
ardeal/EfficientNetV2 mentioned on GitHubpytorch report
d-li14/efficientnetv2.pytorch mentioned on GitHubpytorch report
hankyul2/EfficientNetV2-pytorch mentioned on GitHubpytorch report
jahongir7174/EffcientNetV2 mentioned on GitHubpytorchApache-2.0 report
jahongir7174/EfficientNetV2 mentioned on GitHubpytorch report
james77777778/keras-image-models mentioned on GitHubpytorchApache-2.0 report
lukemelas/EfficientNet-PyTorch mentioned on GitHubpytorch report
open-edge-platform/geti mentioned on GitHubpytorchApache-2.0 report
phykn/film-defect-detection mentioned on GitHubpytorch report
szq0214/fkd mentioned on GitHubpytorch report
hwzwx1190522/efficientnetv2 mindsporeApache-2.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

79 samples harvested; 41 ran; 10 honoured the contract we drafted; 38 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

10ran · honoured contract
5ran · our draft was wrong
4ran · fixture could not drive it
22ran
38unverified

Licence: 10 of the 79 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 15 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

round_filters google/automl/efficientnetv2/effnetv2_model.py official repository ran · honoured contract Apache-2.0 (permissive) · 5640ec0612debaea · report
Attention szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran MIT (permissive) · e3021018c5f52aca · report
CLF_MODEL phykn/film-defect-detection/module/model.py community (archive-listed) ran fingerprinted no licence file found · pointer only · 87eea03ed82a58bb · report
Conv jahongir7174/EfficientNetV2/nets/nn.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 9354545acc375b1b · report
ConvBNAct hankyul2/EfficientNetV2-pytorch/efficientnetv2/efficientnet_v2.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 2a8679c295eca86e · report
ConvKernalInitializer Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran no licence file found · pointer only · 4727c94370c69e97 · report
EfficientNet jahongir7174/EfficientNetV2/nets/nn.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 4f25eeb823c2de8b · report
LearnableCoefficient szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran fingerprinted MIT (permissive) · 70b3286546cf6d44 · report
MBConv hankyul2/EfficientNetV2-pytorch/efficientnetv2/efficientnet_v2.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 5c4ec70828e49d68 · report
MBConvBlock Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · cb2b257652e0c5cc · report
MBConvBlockV2 abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran fingerprinted MIT (permissive) · f9ecf91bbb0df74d · report
Non_proj szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran MIT (permissive) · 311f34cd673ace61 · report
Residual jahongir7174/EfficientNetV2/nets/nn.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · acb059769b4a4327 · report
SE jahongir7174/EfficientNetV2/nets/nn.py community (archive-listed) ran Apache-2.0 (permissive) · 57a73cdb3469e654 · report
SEBlock Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · 020b78c721a6198e · report
SEUnit hankyul2/EfficientNetV2-pytorch/efficientnetv2/efficientnet_v2.py community (archive-listed) ran Apache-2.0 (permissive) · 2a6675c2cebf02ab · report
SamePaddingConv2d abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted MIT (permissive) · b7194f8c7b7e316c · report
StochasticDepth hankyul2/EfficientNetV2-pytorch/efficientnetv2/efficientnet_v2.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · eacbe6ee4a26a27f · report
Swish Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran fingerprinted no licence file found · pointer only · d9cb72304c6ddff3 · report
Transformer szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran MIT (permissive) · 8ecbf3a8e9175884 · report
Transformer_Block szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran MIT (permissive) · 547d2d46045ba04f · report
__FusedMBConvTF DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted Apache-2.0 (permissive) · 3c00e00b9c6c998f · report
_make_divisible leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) ran · honoured contract Apache-2.0 (permissive) · 29f99c375893c0a7 · report
_make_divisible DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) ran Apache-2.0 (permissive) · 933cca1f8110f0cc · report
_pair abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · 9bfd0b1a5faef873 · report
batchnorm_with_activation leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · e9ed9f7ced6189ee · report
conv2d_no_bias leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · 96248e1c8a073860 · report
conv_embedding szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran fingerprinted MIT (permissive) · 3b89a9e5b46d66cf · report
conv_head_pooling szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) ran MIT (permissive) · 82db52dd557154d5 · report
parse_model_inputs DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · d2941723ae4cc495 · report
round_filters seermer/TensorFlow2-EfficientNetV2/efficientnetV2.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · e60387e9529f63ff · report
round_filters Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran · honoured contract no licence file found · pointer only · 8c25eeaec4c91203 · report
round_filters abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · 6c7d046d7dd60b22 · report
round_repeats seermer/TensorFlow2-EfficientNetV2/efficientnetV2.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · 1a9d7e65e0a9fbc9 · report
round_repeats Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) ran · honoured contract no licence file found · pointer only · f93cb693ac8bb537 · report
round_repeats abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · 167f9f74323c7278 · report
same_padding DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) ran · honoured contract fingerprinted Apache-2.0 (permissive) · ec08335b5c6ecfc3 · report
se_module leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · b43c2e4c5402cf83 · report
torch_conv_out_spatial_shape abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · 97d77e37b5677cd8 · report
DenseKernalInitializer Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) unverified no licence file found · pointer only · e19de965ff30b13f · report
DropConnect Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) unverified no licence file found · pointer only · 46312249974aad39 · report
EffNetV2 d-li14/efficientnetv2.pytorch/effnetv2.py community (archive-listed) unverified MIT (permissive) · cead257166f9875e · report
EfficientNet Klassikcat/project-NEXTLab-CNN-EfficientNet/EfficientNet_codestates/model/model.py community (archive-listed) unverified no licence file found · pointer only · 17727025309b999a · report
EfficientNetV2 leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) unverified Apache-2.0 (permissive) · b5e6a1fcfb844a2d · report
EfficientNetV2 hankyul2/EfficientNetV2-pytorch/efficientnetv2/efficientnet_v2.py community (archive-listed) unverified Apache-2.0 (permissive) · 317a74053ff408d2 · report
EfficientNetV2 abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) unverified MIT (permissive) · 2d5bb8dbdbfbf4d1 · report
EfficientNetV2B0 DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · aa534eb3198967f2 · report
EfficientNetV2PT DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · 4d580d4938dce187 · report
EfficientNetV2TF DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · c9682cc2131f0a47 · report
FusedMBConv DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · 5e2c67378c46d21d · report
FusedMBConvBlockV2 abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) unverified MIT (permissive) · 1473a64f191e86c2 · report
MBConv leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) unverified Apache-2.0 (permissive) · 82eb14986b238976 · report
MBConv d-li14/efficientnetv2.pytorch/effnetv2.py community (archive-listed) unverified MIT (permissive) · 2ae034e0700fa114 · report
MBConv DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · dea1a4dc9a146df6 · report
SELayer d-li14/efficientnetv2.pytorch/effnetv2.py community (archive-listed) unverified MIT (permissive) · ce725cd28eee3383 · report
SReT szq0214/fkd/FKD/FKD_ViT/SReT.py community (archive-listed) unverified MIT (permissive) · e13c85dfb8576aa4 · report
__FusedMBConvPT DavidLandup0/deepvision/deepvision/models/classification/efficientnet/efficientnetv2.py community (archive-listed) unverified Apache-2.0 (permissive) · 3fa8caaf6d69f294 · report
accuracy jahongir7174/EffcientNetV2/utils/util.py community (archive-listed) unverified Apache-2.0 (permissive) · 279ab9885f76b013 · report
arg_to_varname hwzwx1190522/efficientnetv2/efficientnetv2/src/configs/parser.py community (archive-listed) unverified Apache-2.0 (permissive) · 177a4abf40724f6e · report
argv_to_vars hwzwx1190522/efficientnetv2/efficientnetv2/src/configs/parser.py community (archive-listed) unverified Apache-2.0 (permissive) · ffc9d7cced6f71fb · report
assignment hwzwx1190522/efficientnetv2/efficientnetv2/src/models/var_init.py community (archive-listed) unverified Apache-2.0 (permissive) · 615dd6b5188585cd · report
calcul_acc hwzwx1190522/efficientnetv2/efficientnetv2/postprocess.py community (archive-listed) unverified Apache-2.0 (permissive) · 5af3c724a0f8260c · report
calculate_gain hwzwx1190522/efficientnetv2/efficientnetv2/src/models/var_init.py community (archive-listed) unverified Apache-2.0 (permissive) · e460868d0e106ef7 · report
collate_fn danstowell/insect_classifier_GDSC23_insecteffnet/src/custom/data.py community (archive-listed) unverified MIT (permissive) · 428d01f7470ad87b · report
conv_1x1_bn d-li14/efficientnetv2.pytorch/effnetv2.py community (archive-listed) unverified MIT (permissive) · 15be99ad0bcca709 · report
conv_3x3_bn d-li14/efficientnetv2.pytorch/effnetv2.py community (archive-listed) unverified MIT (permissive) · 70ced89b3b23f051 · report
get_activation abhuse/pytorch-efficientnet/efficientnet_v2.py community (archive-listed) unverified MIT (permissive) · d9d9a4a8f00a818e · report
get_max_amplitude_window_index danstowell/insect_classifier_GDSC23_insecteffnet/src/custom/utils.py community (archive-listed) unverified MIT (permissive) · f905c37ee28fdfb6 · report
get_min_max danstowell/insect_classifier_GDSC23_insecteffnet/src/custom/utils.py community (archive-listed) unverified MIT (permissive) · 19efbee201b88cff · report
init_weight jahongir7174/EfficientNetV2/nets/nn.py community (archive-listed) unverified Apache-2.0 (permissive) · af3379144cf17adc · report
kaiming_uniform_ hwzwx1190522/efficientnetv2/efficientnetv2/src/models/var_init.py community (archive-listed) unverified Apache-2.0 (permissive) · f3e2d15712198ce4 · report
min_max_norm danstowell/insect_classifier_GDSC23_insecteffnet/src/custom/utils.py community (archive-listed) unverified MIT (permissive) · 5c88df91221a8d8c · report
reload_model_weights leondgarse/Keras_efficientnet_v2/keras_efficientnet_v2/efficientnet_v2.py community (archive-listed) unverified Apache-2.0 (permissive) · f734bb6fe9d256d2 · report
rotate jahongir7174/EffcientNetV2/utils/util.py community (archive-listed) unverified Apache-2.0 (permissive) · 8d9311e021af04d6 · report
trim_preceding_hyphens hwzwx1190522/efficientnetv2/efficientnetv2/src/configs/parser.py community (archive-listed) unverified Apache-2.0 (permissive) · a99f170ebd682af5 · report
upload_to_s3 danstowell/insect_classifier_GDSC23_insecteffnet/src/gdsc_utils.py community (archive-listed) unverified MIT (permissive) · 615b8fc6facd6894 · report
weight_decay jahongir7174/EffcientNetV2/utils/util.py community (archive-listed) unverified Apache-2.0 (permissive) · 3e49c5fa4dfff12e · report
compute_pca JohnnyHopp/PaDiM-EfficientNetV2/utils.py community ran · our draft was wrong Apache-2.0 (permissive) · 4b11257d79964d87 · report
pca_reduction JohnnyHopp/PaDiM-EfficientNetV2/utils.py community ran · our draft was wrong Apache-2.0 (permissive) · 56c266222ed70de4 · report

Tasks

AutoMLClassificationData AugmentationImage ClassificationNeural Architecture Search

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Classification CIFAR-10 EfficientNetV2-L Percentage correct 99.1 #17 of 265 Archive leaderboard report
Image Classification CIFAR-10 EfficientNetV2-M Percentage correct 99.0 #24 of 265 Archive leaderboard report
Image Classification CIFAR-10 EfficientNetV2-S Percentage correct 98.7 #31 of 265 Archive leaderboard report
Image Classification CIFAR-100 EfficientNetV2-L Percentage correct 92.3 #13 of 211 Archive leaderboard report
Image Classification CIFAR-100 EfficientNetV2-M Percentage correct 92.2 #14 of 211 Archive leaderboard report
Image Classification CIFAR-100 EfficientNetV2-S Percentage correct 91.5 #19 of 211 Archive leaderboard report
Image Classification Flowers-102 EfficientNetV2-L Accuracy 98.8 #19 of 52 Archive leaderboard report
Image Classification Flowers-102 EfficientNetV2-M Accuracy 98.5 #23 of 52 Archive leaderboard report
Image Classification Flowers-102 EfficientNetV2-S Accuracy 97.9 #31 of 52 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-XL (21k) GFLOPs 94 #97 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-XL (21k) Number of params 208M #97 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-XL (21k) Top 1 Accuracy 87.3% #97 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-L (21k) GFLOPs 53 #122 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-L (21k) Number of params 120M #122 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-L (21k) Top 1 Accuracy 86.8% #122 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-M (21k) GFLOPs 24 #167 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-M (21k) Number of params 54M #167 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-M (21k) Top 1 Accuracy 86.2% #167 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-L GFLOPs 53 #205 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-L Top 1 Accuracy 85.7% #205 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-M Top 1 Accuracy 85.1% #253 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-S (21k) GFLOPs 8.8 #278 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-S (21k) Number of params 22M #278 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-S (21k) Top 1 Accuracy 84.9% #278 of 1060 Archive leaderboard report
Image Classification ImageNet EfficientNetV2-S Top 1 Accuracy 83.9% #372 of 1060 Archive leaderboard report
Image Classification Stanford Cars EfficientNetV2-L Accuracy 95.1 #3 of 24 Archive leaderboard report
Image Classification Stanford Cars EfficientNetV2-M Accuracy 94.6 #4 of 24 Archive leaderboard report
Image Classification Stanford Cars EfficientNetV2-S Accuracy 93.8 #8 of 24 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: EfficientNetV2

1x1 ConvolutionBatch NormalizationDepthwise ConvolutionDepthwise Separable ConvolutionDropoutEfficientNetV2Inverted Residual BlockPointwise Convolution

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections