{"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/training-transformer-models-by-wavelet-losses","title":"Training Transformer Models by Wavelet Losses Improves Quantitative and Visual Performance in Single Image Super-Resolution","arxiv_id":"2404.11273","date":"2024-04-17","proceeding":null,"authors":["Cansu Korkmaz","A. Murat Tekalp"],"abstract":"Transformer-based models have achieved remarkable results in low-level vision tasks including image super-resolution (SR). However, early Transformer-based approaches that rely on self-attention within non-overlapping windows encounter challenges in acquiring global information. To activate more input pixels globally, hybrid attention models have been proposed. Moreover, training by solely minimizing pixel-wise RGB losses, such as L1, have been found inadequate for capturing essential high-frequency details. This paper presents two contributions: i) We introduce convolutional non-local sparse attention (NLSA) blocks to extend the hybrid transformer architecture in order to further enhance its receptive field. ii) We employ wavelet losses to train Transformer models to improve quantitative and subjective performance. While wavelet losses have been explored previously, showing their power in training Transformer-based SR models is novel. Our experimental results demonstrate that the proposed model provides state-of-the-art PSNR results as well as superior visual performance across various benchmark datasets.","url_abs":"https://arxiv.org/abs/2404.11273v1","url_pdf":"https://arxiv.org/pdf/2404.11273v1.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":"training-transformer-models-by-wavelet-losses","repo_url":"https://github.com/mandalinadagi/wavelettention","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.11273","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.11273"}},"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/mandalinadagi/wavelettention","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":5,"ran_fixture":1,"ran":3,"unverified":8},"by_repo_kind":{"official":{"samples":17,"ran":9,"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":"8429e6520e353d4d","entry":"batched_index_select","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/archs/wavelettention_arch.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/archs/wavelettention_arch.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8429e6520e353d4d"}},{"code_sha256_prefix":"1da66073b47c5596","entry":"default_conv","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/archs/wavelettention_arch.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/archs/wavelettention_arch.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1da66073b47c5596"}},{"code_sha256_prefix":"52d96aa31ed74a56","entry":"drop_path","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/archs/wavelettention_arch.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/archs/wavelettention_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"52d96aa31ed74a56"}},{"code_sha256_prefix":"ef9faf68f492a375","entry":"flow_warp","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/archs/arch_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/archs/arch_util.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ef9faf68f492a375"}},{"code_sha256_prefix":"cd569444547de84f","entry":"get_position_from_periods","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/models/lr_scheduler.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/models/lr_scheduler.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cd569444547de84f"}},{"code_sha256_prefix":"5360d45b71ae2bb1","entry":"insert_bn","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/archs/vgg_arch.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/archs/vgg_arch.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5360d45b71ae2bb1"}},{"code_sha256_prefix":"96ad5dc9ca239aec","entry":"make_layer","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/archs/arch_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/archs/arch_util.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"96ad5dc9ca239aec"}},{"code_sha256_prefix":"5e656210252d9f33","entry":"mypad","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/SWT.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/SWT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5e656210252d9f33"}},{"code_sha256_prefix":"5a1d8458dc7077a6","entry":"resize_flow","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/archs/arch_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/archs/arch_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a1d8458dc7077a6"}},{"code_sha256_prefix":"fe05416387de89c6","entry":"g_path_regularize","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/gan_loss.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/gan_loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fe05416387de89c6"}},{"code_sha256_prefix":"81eb425a41a7c2a1","entry":"gradient_penalty_loss","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/gan_loss.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/gan_loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"81eb425a41a7c2a1"}},{"code_sha256_prefix":"a1070467a2c29db6","entry":"prep_filt_afb2d","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/SWT.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/SWT.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a1070467a2c29db6"}},{"code_sha256_prefix":"c7cba9053f3cadb5","entry":"r1_penalty","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/gan_loss.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/gan_loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c7cba9053f3cadb5"}},{"code_sha256_prefix":"a648a03a952822c0","entry":"reduce_loss","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/loss_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/loss_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a648a03a952822c0"}},{"code_sha256_prefix":"c18931526ac3006c","entry":"reflect","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/SWT.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/SWT.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c18931526ac3006c"}},{"code_sha256_prefix":"1ba39317ea81871a","entry":"weight_reduce_loss","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/loss_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/loss_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1ba39317ea81871a"}},{"code_sha256_prefix":"cf63f8afc13f62a7","entry":"weighted_loss","repo":"mandalinadagi/wavelettention","repo_kind":"official","path":"wavelettention/basicsr/losses/loss_util.py","file_url":"https://github.com/mandalinadagi/wavelettention/blob/HEAD/wavelettention/basicsr/losses/loss_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cf63f8afc13f62a7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}