{"id":13499135,"url":"https://github.com/NeroLoh/darts-tensorflow","last_synced_at":"2025-03-29T04:30:39.208Z","repository":{"id":213037927,"uuid":"159820171","full_name":"NeroLoh/darts-tensorflow","owner":"NeroLoh","description":"Tensorflow code for Differentiable architecture search  ","archived":false,"fork":false,"pushed_at":"2018-12-29T08:39:50.000Z","size":518,"stargazers_count":74,"open_issues_count":4,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-01T22:50:11.567Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeroLoh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-11-30T12:25:17.000Z","updated_at":"2024-07-22T03:40:40.000Z","dependencies_parsed_at":"2023-12-18T04:30:38.183Z","dependency_job_id":"0a46f121-0e10-4b0f-a89c-6a0935ca9a4e","html_url":"https://github.com/NeroLoh/darts-tensorflow","commit_stats":null,"previous_names":["neroloh/darts-tensorflow"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeroLoh%2Fdarts-tensorflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeroLoh%2Fdarts-tensorflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeroLoh%2Fdarts-tensorflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeroLoh%2Fdarts-tensorflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeroLoh","download_url":"https://codeload.github.com/NeroLoh/darts-tensorflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222456007,"owners_count":16987582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T22:00:29.752Z","updated_at":"2024-10-31T17:31:37.557Z","avatar_url":"https://github.com/NeroLoh.png","language":"Python","funding_links":[],"categories":["Papers\u0026Codes","DLA","Python"],"sub_categories":["DARTS"],"readme":"## Paper \nThis code implement the DARTS paper in Tensorflow\n\u003e[DARTS: Differentiable Architecture Search](https://arxiv.org/abs/1806.09055)  \n\u003eHanxiao Liu, Karen Simonyan, Yiming Yang.  \n\u003earXiv:1806.09055.  \n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/DARTS.png\" alt=\"darts\" width=\"70%\"\u003e\n\u003c/p\u003e  \n\n## Architecture Search \nTo carry out architecture search using 2nd-order approximation, run\n```\npython cnn/train_search.py\n```\nNOTE:\n* Only implement the Cifar10 experiments\n* Bacht size is set to only 16 (64 in the pytorch Ver) for the OOM issue using one single 1080 Ti GPU\n* Only implement the 2nd-order approximation, but you can simply modify the code if you want 1st-order one\n* Didn't implement the PATH DROP operation on test code for the unclear motivation  \n\nHere shows the details training pocess\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/train_loss.png\" alt=\"darts\" width=\"70%\"\u003e\n  \u003cimg src=\"images/valid_loss.png\" alt=\"darts\" width=\"70%\"\u003e\n\u003c/p\u003e  \n\u003cp align=\"center\"\u003e\nFig. The Train loss and Valid loss of the searching process\n\u003c/p\u003e  \n\nThe train loss is decreased steadly during the searching pocess, which is more stable than the RL based method. Note that the valid loss refer to the 2nd-order loss for architecture params.  \n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/normal.png\" alt=\"darts\" width=\"70%\"\u003e\n  \u003c/p\u003e \n  \u003cp align=\"center\"\u003e\n  Fig. The final normal cell  \n  \u003c/p\u003e  \n  \u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/reduction.png\" alt=\"darts\" width=\"70%\"\u003e  \n  \u003cp align=\"center\"\u003e  \n  Fig. The final reduction cell  \n  \u003c/p\u003e  \n\u003c/p\u003e  \n\n## Architecture evaluation  \nThe test error finally decreased to around 5.8 after training 415 epoches, while the best results in pytorch version is 2.76 but trained with 600 epoches. Training more epoches can narrow the gap of performance drop. Besides that, repeating the architecture search process with different seed to choose the best structure can avoid local minimun. \n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/test_acc.png\" alt=\"darts\" width=\"70%\"\u003e\n\u003c/p\u003e \n\u003cp align=\"center\"\u003e\n  Fig. The test accuracy of the searched architecture  \n\u003c/p\u003e \n\n## Acknowledgement\n* This implementation is based on the original Torch implementation [quark0/darts](https://github.com/quark0/darts)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNeroLoh%2Fdarts-tensorflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNeroLoh%2Fdarts-tensorflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNeroLoh%2Fdarts-tensorflow/lists"}