{"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/t-lora-single-image-diffusion-model","title":"T-LoRA: Single Image Diffusion Model Customization Without Overfitting","arxiv_id":"2507.05964","date":"2025-07-08","proceeding":null,"authors":["Vera Soboleva","Aibek Alanov","Andrey Kuznetsov","Konstantin Sobolev"],"abstract":"While diffusion model fine-tuning offers a powerful approach for customizing pre-trained models to generate specific objects, it frequently suffers from overfitting when training samples are limited, compromising both generalization capability and output diversity. This paper tackles the challenging yet most impactful task of adapting a diffusion model using just a single concept image, as single-image customization holds the greatest practical potential. We introduce T-LoRA, a Timestep-Dependent Low-Rank Adaptation framework specifically designed for diffusion model personalization. In our work we show that higher diffusion timesteps are more prone to overfitting than lower ones, necessitating a timestep-sensitive fine-tuning strategy. T-LoRA incorporates two key innovations: (1) a dynamic fine-tuning strategy that adjusts rank-constrained updates based on diffusion timesteps, and (2) a weight parametrization technique that ensures independence between adapter components through orthogonal initialization. Extensive experiments show that T-LoRA and its individual components outperform standard LoRA and other diffusion model personalization techniques. They achieve a superior balance between concept fidelity and text alignment, highlighting the potential of T-LoRA in data-limited and resource-constrained scenarios. Code is available at https://github.com/ControlGenAI/T-LoRA.","url_abs":"https://arxiv.org/abs/2507.05964v1","url_pdf":"https://arxiv.org/pdf/2507.05964v1.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":"t-lora-single-image-diffusion-model","repo_url":"https://github.com/controlgenai/t-lora","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"adapter","method_name":"Adapter"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2507.05964","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2507.05964"}},"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/controlgenai/t-lora","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":14},"by_repo_kind":{"official":{"samples":14,"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":"fbb6bdf73940c633","entry":"compute_text_embeddings","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/encode.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/encode.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":"fbb6bdf73940c633"}},{"code_sha256_prefix":"7413d17ac393d102","entry":"count_trainable_params","repo":"controlgenai/t-lora","repo_kind":"official","path":"tlora/model/utils_sdxl.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/tlora/model/utils_sdxl.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":"7413d17ac393d102"}},{"code_sha256_prefix":"26601108df216c13","entry":"default_set_attn_proc_func","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/lora.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/lora.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":"26601108df216c13"}},{"code_sha256_prefix":"a4b9b4e076ac221d","entry":"encode_prompt","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/encode.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/encode.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":"a4b9b4e076ac221d"}},{"code_sha256_prefix":"8145a4512e770006","entry":"generate_with_prompt","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/run_inference.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/run_inference.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":"8145a4512e770006"}},{"code_sha256_prefix":"b9cf2f56b8754d80","entry":"get_layer_by_name","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/utils.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/utils.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":"b9cf2f56b8754d80"}},{"code_sha256_prefix":"b353f045efef187c","entry":"get_seed","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/run_inference.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/run_inference.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":"b353f045efef187c"}},{"code_sha256_prefix":"73efbb8c8b18fb89","entry":"import_model_class_from_model_name_or_path","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/utils.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/utils.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":"73efbb8c8b18fb89"}},{"code_sha256_prefix":"b313ca30cbe99822","entry":"load_text_encoders","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/utils.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/utils.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":"b313ca30cbe99822"}},{"code_sha256_prefix":"269ab0d18d0af437","entry":"params_grad_norm","repo":"controlgenai/t-lora","repo_kind":"official","path":"tlora/model/utils_sdxl.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/tlora/model/utils_sdxl.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":"269ab0d18d0af437"}},{"code_sha256_prefix":"aa7a619f74bf7a47","entry":"parse_args","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/run_inference.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/run_inference.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":"aa7a619f74bf7a47"}},{"code_sha256_prefix":"01c6e5b73656deb5","entry":"rescale_noise_cfg","repo":"controlgenai/t-lora","repo_kind":"official","path":"tlora/model/pipeline_sdxl.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/tlora/model/pipeline_sdxl.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":"01c6e5b73656deb5"}},{"code_sha256_prefix":"acbd51a8798254c2","entry":"retrieve_timesteps","repo":"controlgenai/t-lora","repo_kind":"official","path":"tlora/model/pipeline_sdxl.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/tlora/model/pipeline_sdxl.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":"acbd51a8798254c2"}},{"code_sha256_prefix":"eb4f8a321d97a458","entry":"tokenize_prompt","repo":"controlgenai/t-lora","repo_kind":"official","path":"flux/model/encode.py","file_url":"https://github.com/controlgenai/t-lora/blob/HEAD/flux/model/encode.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":"eb4f8a321d97a458"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}