{"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/lmpt-prompt-tuning-with-class-specific","title":"LMPT: Prompt Tuning with Class-Specific Embedding Loss for Long-tailed Multi-Label Visual Recognition","arxiv_id":"2305.04536","date":"2023-05-08","proceeding":null,"authors":["Peng Xia","Di Xu","Ming Hu","Lie Ju","ZongYuan Ge"],"abstract":"Long-tailed multi-label visual recognition (LTML) task is a highly challenging task due to the label co-occurrence and imbalanced data distribution. In this work, we propose a unified framework for LTML, namely prompt tuning with class-specific embedding loss (LMPT), capturing the semantic feature interactions between categories by combining text and image modality data and improving the performance synchronously on both head and tail classes. Specifically, LMPT introduces the embedding loss function with class-aware soft margin and re-weighting to learn class-specific contexts with the benefit of textual descriptions (captions), which could help establish semantic relationships between classes, especially between the head and tail classes. Furthermore, taking into account the class imbalance, the distribution-balanced loss is adopted as the classification loss function to further improve the performance on the tail classes without compromising head classes. Extensive experiments are conducted on VOC-LT and COCO-LT datasets, which demonstrates that our method significantly surpasses the previous state-of-the-art methods and zero-shot CLIP in LTML. Our codes are fully public at https://github.com/richard-peng-xia/LMPT.","url_abs":"https://arxiv.org/abs/2305.04536v2","url_pdf":"https://arxiv.org/pdf/2305.04536v2.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":"lmpt-prompt-tuning-with-class-specific","repo_url":"https://github.com/richard-peng-xia/LMPT","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"long-tail-learning","task_name":"Long-tail Learning"}],"methods":[{"method_slug":"clip","method_name":"CLIP"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/long-tail-learning-on-coco-mlt","task":"Long-tail Learning","dataset":"COCO-MLT","model":"LMPT(ViT-B/16)","rank_in_archive_order":1,"of":13,"metrics":{"Average mAP":"66.19"},"uses_additional_data":true},{"leaderboard":"/sota/long-tail-learning-on-coco-mlt","task":"Long-tail Learning","dataset":"COCO-MLT","model":"LMPT(ResNet-50)","rank_in_archive_order":3,"of":13,"metrics":{"Average mAP":"58.97"},"uses_additional_data":true},{"leaderboard":"/sota/long-tail-learning-on-voc-mlt","task":"Long-tail Learning","dataset":"VOC-MLT","model":"LMPT(ViT-B/16)","rank_in_archive_order":1,"of":13,"metrics":{"Average mAP":"87.88"},"uses_additional_data":true},{"leaderboard":"/sota/long-tail-learning-on-voc-mlt","task":"Long-tail Learning","dataset":"VOC-MLT","model":"LMPT(ResNet-50)","rank_in_archive_order":3,"of":13,"metrics":{"Average mAP":"85.44"},"uses_additional_data":true}],"syntology":{"syntology_url":"https://syntology.ai/paper/2305.04536","atlas_url":"https://app.syntology.ai/?focus=2305.04536","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.04536"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/richard-peng-xia/LMPT","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"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":"b6381cea04a4f316","entry":"binary_cross_entropy","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/bl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/bl.py","link_basis":"first_harvest_node","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":"b6381cea04a4f316"}},{"code_sha256_prefix":"1e5144c838c3e6c2","entry":"binary_cross_entropy","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/dbl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/dbl.py","link_basis":"first_harvest_node","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":"1e5144c838c3e6c2"}},{"code_sha256_prefix":"af60b4a83d7a2c24","entry":"build_dataset","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/datasets.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/datasets.py","link_basis":"first_harvest_node","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":"af60b4a83d7a2c24"}},{"code_sha256_prefix":"305bb617fd983bc0","entry":"build_dataset_with_caption","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/datasets.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/datasets.py","link_basis":"first_harvest_node","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":"305bb617fd983bc0"}},{"code_sha256_prefix":"54aba0c2f41301bd","entry":"cross_entropy","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/dbl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/dbl.py","link_basis":"first_harvest_node","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":"54aba0c2f41301bd"}},{"code_sha256_prefix":"1b8d4c91bf31cdd8","entry":"eval_map","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/metrics.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/metrics.py","link_basis":"first_harvest_node","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":"1b8d4c91bf31cdd8"}},{"code_sha256_prefix":"1b2989deebcb5f1d","entry":"partial_cross_entropy","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/dbl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/dbl.py","link_basis":"first_harvest_node","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":"1b2989deebcb5f1d"}},{"code_sha256_prefix":"93358ba7aa223343","entry":"reduce_loss","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/bl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/bl.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":"93358ba7aa223343"}},{"code_sha256_prefix":"8553862254d49840","entry":"weight_reduce_loss","repo":"richard-peng-xia/LMPT","repo_kind":"official","path":"lmpt/bl.py","file_url":"https://github.com/richard-peng-xia/LMPT/blob/HEAD/lmpt/bl.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":"8553862254d49840"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}