{"id":18816094,"url":"https://github.com/orionw/configtune","last_synced_at":"2026-01-14T07:30:19.605Z","repository":{"id":35055973,"uuid":"200315017","full_name":"orionw/configtune","owner":"orionw","description":"An easy way to tune machine learning hyperparameters (especially for those that use a config file)","archived":false,"fork":false,"pushed_at":"2022-06-21T22:30:47.000Z","size":89,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-30T14:06:33.723Z","etag":null,"topics":["bayesian-optimization","evolutionary-algorithms","hyperparameter-optimization","machine-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orionw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-03T00:52:41.000Z","updated_at":"2019-08-30T00:34:44.000Z","dependencies_parsed_at":"2022-09-18T05:36:26.846Z","dependency_job_id":null,"html_url":"https://github.com/orionw/configtune","commit_stats":null,"previous_names":["orionw/tuningdeap"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orionw%2Fconfigtune","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orionw%2Fconfigtune/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orionw%2Fconfigtune/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orionw%2Fconfigtune/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orionw","download_url":"https://codeload.github.com/orionw/configtune/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239753703,"owners_count":19691160,"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":["bayesian-optimization","evolutionary-algorithms","hyperparameter-optimization","machine-learning"],"created_at":"2024-11-07T23:52:25.568Z","updated_at":"2026-01-14T07:30:19.528Z","avatar_url":"https://github.com/orionw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.com/orionw/tuningDEAP.svg?branch=master)](https://travis-ci.com/orionw/tuningDEAP)\n[![PyPI version](https://badge.fury.io/py/configtune.svg)](https://badge.fury.io/py/configtune)\n[![codecov](https://codecov.io/gh/orionw/tuningDEAP/branch/master/graph/badge.svg)](https://codecov.io/gh/orionw/tuningDEAP)\n\n# configtune\nA package for tuning machine learning models (bayesian or genetic tuning), with or without a config file.\n\n## How to Use:\n0. Create your model and config files (if desired)\n1. Create your tuning config in the format as follows (json):\n```\n{\n    \"attributes\": {\n        \"generic_param_example: {\n            \"type\": \u003c\"int\"/\"float\"/\"bool\"\u003e,\n            \"min\": \u003cmin_value if int or float\u003e,\n            \"max\": \u003cmax_value if int or float\u003e,\n            \u003cthis is an optional param for configtune but NOT tuningbayes, default=1: \"step\": \u003cstep size value\u003e,\n            \u003cthis is an optional param to enforce step limits (for configtune but NOT tuningbayes): \"strict\": \u003cTrue/False\u003e\u003e\n        },\n        \"int_you_want_to_tune_example\": {\n            \"type\": \"int\",\n            \"min\": 1,\n            \"max\": 10,\n            \"step\": 2\n        },\n        \"float_you_want_to_tune_example\": {\n            \"type\": \"int\",\n            \"min\": 0,\n            \"max\": 1,\n            \"step\": 0.1\n        },\n        \"bool_you_want_to_tune_example\": {\n            \"type\": \"bool\"\n        },\n        \"categorical_values_you_want_to_tune_example\": {\n            \"type\": \"categorical\",\n            \"values\": [\"a\", \"b\", \"c\"]\n    }\n}\n```\nBoolean values don't need any bounds.  The parameter names should match those found in your model config file, if you have one.  Categorical values will be randomly selected for initialization.\n\n2. Create your evaluation function.  This function needs to take in a config file or a list of values being tuned if you're not using a config.  It should output a scalar value.\n\nExample overall usage of `TuningDeap`:\n```\nfrom configtune import TuningDeap\n\ndef eval_function(config_file):\n    return your_eval_function(config_file)\n\ntune = TuningDeap(eval_function, tuning_config, model_config, n_generation=5, population_size=10, \n                  minimize=True, output_dir=\"/tmp\", verbose=False)\nbest_config, best_score = tune.run()\n```\n\nExample overall usage of `TuningBayes`:\n```\nfrom configtune import TuningBayes\n\ndef eval_function(config_file):\n    return your_eval_function(config_file)\n\ntune = TuningBayes(eval_function, tuning_config, model_config, n_calls=10, n_random_starts=2, \n                   output_dir=\"/tmp\", verbose=True)\nbest_config, best_score = tune.run()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forionw%2Fconfigtune","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forionw%2Fconfigtune","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forionw%2Fconfigtune/lists"}