{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/eca-net-efficient-channel-attention-for-deep","title":"ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks","arxiv_id":"1910.03151","date":"2019-10-08","proceeding":"CVPR 2020 6","authors":["Qilong Wang","Banggu Wu","Pengfei Zhu","Peihua Li","WangMeng Zuo","QinGhua Hu"],"abstract":"Recently, channel attention mechanism has demonstrated to offer great potential in improving the performance of deep convolutional neural networks (CNNs). However, most existing methods dedicate to developing more sophisticated attention modules for achieving better performance, which inevitably increase model complexity. To overcome the paradox of performance and complexity trade-off, this paper proposes an Efficient Channel Attention (ECA) module, which only involves a handful of parameters while bringing clear performance gain. By dissecting the channel attention module in SENet, we empirically show avoiding dimensionality reduction is important for learning channel attention, and appropriate cross-channel interaction can preserve performance while significantly decreasing model complexity. Therefore, we propose a local cross-channel interaction strategy without dimensionality reduction, which can be efficiently implemented via $1D$ convolution. Furthermore, we develop a method to adaptively select kernel size of $1D$ convolution, determining coverage of local cross-channel interaction. The proposed ECA module is efficient yet effective, e.g., the parameters and computations of our modules against backbone of ResNet50 are 80 vs. 24.37M and 4.7e-4 GFLOPs vs. 3.86 GFLOPs, respectively, and the performance boost is more than 2% in terms of Top-1 accuracy. We extensively evaluate our ECA module on image classification, object detection and instance segmentation with backbones of ResNets and MobileNetV2. The experimental results show our module is more efficient while performing favorably against its counterparts.","url_abs":"https://arxiv.org/abs/1910.03151v4","url_pdf":"https://arxiv.org/pdf/1910.03151v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/BangguWu/ECANet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/AndrzejMiskow/FER-with-Attention-and-Objective-Activation-Functions","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/HaloTrouvaille/YOLO-Multi-Backbones-Attention","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/JinLi711/Attention-Augmented-Convolution","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/JinLi711/Convolution_Variants","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/digantamisra98/Reproducibilty-Challenge-ECANET","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/e96031413/AA-YOLO","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/e96031413/PyTorch_YOLOv4-tiny","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/mnikitin/channel-attention","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"ok"}},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/rwightman/pytorch-image-models","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/xmu-xiaoma666/External-Attention-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/MindSpore-scientific/code-14/tree/main/WaveCRN-master","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"eca-net-efficient-channel-attention-for-deep","repo_url":"https://github.com/mindspore-courses/External-Attention-MindSpore/blob/main/model/attention/ECAAttention.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"dimensionality-reduction","task_name":"Dimensionality Reduction"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"eca-net","method_name":"ECA-Net"},{"method_slug":"ecanet","method_name":"ECANet"},{"method_slug":"ecanet","method_name":"Efficient Channel Attention"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"faster-r-cnn","method_name":"Faster R-CNN"},{"method_slug":"focal-loss","method_name":"Focal Loss"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"inverted-residual-block","method_name":"Inverted Residual Block"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"randomhorizontalflip","method_name":"Random Horizontal Flip"},{"method_slug":"random-resized-crop","method_name":"Random Resized Crop"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"retinanet","method_name":"RetinaNet"},{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"roipool","method_name":"RoIPool"},{"method_slug":"senet","method_name":"SENet"},{"method_slug":"sgd-with-momentum","method_name":"SGD with Momentum"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"squeeze-and-excitation-block","method_name":"Squeeze-and-Excitation Block"},{"method_slug":"step-decay","method_name":"Step Decay"},{"method_slug":"weight-decay","method_name":"Weight Decay"}],"datasets_introduced":[],"methods_introduced":[{"slug":"ecanet","name":"ECANet","full_name":"efficient channel attention"}],"results":[{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ECA-Net (ResNet-152)","rank_in_archive_order":798,"of":1060,"metrics":{"GFLOPs":"10.83","Number of params":"57.40M","Top 1 Accuracy":"78.92%"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ECA-Net (ResNet-101)","rank_in_archive_order":814,"of":1060,"metrics":{"GFLOPs":"7.35","Number of params":"42.49M","Top 1 Accuracy":"78.65%"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ECA-Net (ResNet-50)","rank_in_archive_order":874,"of":1060,"metrics":{"GFLOPs":"3.86","Number of params":"24.37M","Top 1 Accuracy":"77.48%"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ECA-Net (MobileNetV2)","rank_in_archive_order":994,"of":1060,"metrics":{"GFLOPs":"0.320","Number of params":"3.34M","Top 1 Accuracy":"72.56%"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-dsec","task":"Object Detection","dataset":"DSEC","model":"ECANet","rank_in_archive_order":9,"of":12,"metrics":{"mAP":"25.7"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-pku-ddd17-car","task":"Object Detection","dataset":"PKU-DDD17-Car","model":"ECANet","rank_in_archive_order":5,"of":14,"metrics":{"mAP50":"82.2"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.03151","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.03151"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rwightman/pytorch-image-models","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mnikitin/channel-attention","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/e96031413/AA-YOLO","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/digantamisra98/Reproducibilty-Challenge-ECANET","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/e96031413/PyTorch_YOLOv4-tiny","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AndrzejMiskow/FER-with-Attention-and-Objective-Activation-Functions","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BangguWu/ECANet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific/code-14/tree/main/WaveCRN-master","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/HaloTrouvaille/YOLO-Multi-Backbones-Attention","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JinLi711/Convolution_Variants","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xmu-xiaoma666/External-Attention-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mindspore-courses/External-Attention-MindSpore/blob/main/model/attention/ECAAttention.py","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JinLi711/Attention-Augmented-Convolution","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"official":{"samples":8,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"BangguWu/ECANet","repo_kind":"official","path":"models/eca_resnet.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/models/eca_resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"80752954f2a868b8","entry":"accuracy","repo":"BangguWu/ECANet","repo_kind":"official","path":"light_main.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/light_main.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80752954f2a868b8"}},{"code_sha256_prefix":"4f5864c4b2375362","entry":"clever_format","repo":"BangguWu/ECANet","repo_kind":"official","path":"paras_flops.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/paras_flops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4f5864c4b2375362"}},{"code_sha256_prefix":"28bd295d6e3e6606","entry":"eca_mobilenet_v2","repo":"BangguWu/ECANet","repo_kind":"official","path":"models/eca_mobilenetv2.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/models/eca_mobilenetv2.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"28bd295d6e3e6606"}},{"code_sha256_prefix":"f6ab2bc32991ac5c","entry":"eca_resnet18","repo":"BangguWu/ECANet","repo_kind":"official","path":"models/eca_resnet.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/models/eca_resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6ab2bc32991ac5c"}},{"code_sha256_prefix":"05f5ff944e3e67da","entry":"eca_resnet34","repo":"BangguWu/ECANet","repo_kind":"official","path":"models/eca_resnet.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/models/eca_resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05f5ff944e3e67da"}},{"code_sha256_prefix":"aae02ce712945919","entry":"train","repo":"BangguWu/ECANet","repo_kind":"official","path":"light_main.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/light_main.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aae02ce712945919"}},{"code_sha256_prefix":"78bcedada2ecc6df","entry":"validate","repo":"BangguWu/ECANet","repo_kind":"official","path":"light_main.py","file_url":"https://github.com/BangguWu/ECANet/blob/HEAD/light_main.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"78bcedada2ecc6df"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}