{"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/model-selection-with-model-zoo-via-graph","title":"Model Selection with Model Zoo via Graph Learning","arxiv_id":"2404.03988","date":"2024-04-05","proceeding":null,"authors":["Ziyu Li","Hilco van der Wilk","Danning Zhan","Megha Khosla","Alessandro Bozzon","Rihan Hai"],"abstract":"Pre-trained deep learning (DL) models are increasingly accessible in public repositories, i.e., model zoos. Given a new prediction task, finding the best model to fine-tune can be computationally intensive and costly, especially when the number of pre-trained models is large. Selecting the right pre-trained models is crucial, yet complicated by the diversity of models from various model families (like ResNet, Vit, Swin) and the hidden relationships between models and datasets. Existing methods, which utilize basic information from models and datasets to compute scores indicating model performance on target datasets, overlook the intrinsic relationships, limiting their effectiveness in model selection. In this study, we introduce TransferGraph, a novel framework that reformulates model selection as a graph learning problem. TransferGraph constructs a graph using extensive metadata extracted from models and datasets, while capturing their inherent relationships. Through comprehensive experiments across 16 real datasets, both images and texts, we demonstrate TransferGraph's effectiveness in capturing essential model-dataset relationships, yielding up to a 32% improvement in correlation between predicted performance and the actual fine-tuning results compared to the state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2404.03988v1","url_pdf":"https://arxiv.org/pdf/2404.03988v1.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":"model-selection-with-model-zoo-via-graph","repo_url":"https://github.com/transfergraph/transfergraph","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"model-selection","task_name":"Model Selection"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.03988","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.03988"}},"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/transfergraph/transfergraph","reach":{"status":"ok"}}],"summary":{"ran":2,"unverified":3},"by_repo_kind":{"official":{"samples":5,"ran":2,"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":5,"samples":[{"code_sha256_prefix":"8a23db4b467b743b","entry":"custom_replace","repo":"transfergraph/transfergraph","repo_kind":"official","path":"src/transfergraph/transferability_estimation/graph/train_with_GNN.py","file_url":"https://github.com/transfergraph/transfergraph/blob/HEAD/src/transfergraph/transferability_estimation/graph/train_with_GNN.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a23db4b467b743b"}},{"code_sha256_prefix":"7f5ebde7b700fbdd","entry":"determine_file_name_embedded_dataset","repo":"transfergraph/transfergraph","repo_kind":"official","path":"src/transfergraph/dataset/embedder.py","file_url":"https://github.com/transfergraph/transfergraph/blob/HEAD/src/transfergraph/dataset/embedder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f5ebde7b700fbdd"}},{"code_sha256_prefix":"921ae7f850f54ede","entry":"extract_features","repo":"transfergraph/transfergraph","repo_kind":"official","path":"src/transfergraph/transferability_estimation/feature_utils.py","file_url":"https://github.com/transfergraph/transfergraph/blob/HEAD/src/transfergraph/transferability_estimation/feature_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"921ae7f850f54ede"}},{"code_sha256_prefix":"c516609cbf03fdec","entry":"extract_features_without_labels","repo":"transfergraph/transfergraph","repo_kind":"official","path":"src/transfergraph/transferability_estimation/feature_utils.py","file_url":"https://github.com/transfergraph/transfergraph/blob/HEAD/src/transfergraph/transferability_estimation/feature_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c516609cbf03fdec"}},{"code_sha256_prefix":"e3a565532c4ff777","entry":"train","repo":"transfergraph/transfergraph","repo_kind":"official","path":"src/transfergraph/transferability_estimation/graph/train_with_GNN.py","file_url":"https://github.com/transfergraph/transfergraph/blob/HEAD/src/transfergraph/transferability_estimation/graph/train_with_GNN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3a565532c4ff777"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}