{"id":20602465,"url":"https://github.com/augustunderground/baceball","last_synced_at":"2026-01-29T22:01:58.470Z","repository":{"id":112835746,"uuid":"421067141","full_name":"AugustUnderground/baceball","owner":"AugustUnderground","description":"Bayesian Methods with ACE","archived":false,"fork":false,"pushed_at":"2021-11-18T07:01:41.000Z","size":77621,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-12T05:48:54.668Z","etag":null,"topics":["analog-circuit","bayesian-optimization","hy","optimization","scikit-optimize","visualization"],"latest_commit_sha":null,"homepage":"","language":"Hy","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/AugustUnderground.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-25T14:52:32.000Z","updated_at":"2021-11-18T07:00:13.000Z","dependencies_parsed_at":"2023-05-31T10:00:15.434Z","dependency_job_id":null,"html_url":"https://github.com/AugustUnderground/baceball","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AugustUnderground/baceball","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustUnderground%2Fbaceball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustUnderground%2Fbaceball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustUnderground%2Fbaceball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustUnderground%2Fbaceball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustUnderground","download_url":"https://codeload.github.com/AugustUnderground/baceball/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustUnderground%2Fbaceball/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28886881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["analog-circuit","bayesian-optimization","hy","optimization","scikit-optimize","visualization"],"created_at":"2024-11-16T09:13:56.073Z","updated_at":"2026-01-29T22:01:58.454Z","avatar_url":"https://github.com/AugustUnderground.png","language":"Hy","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ebAC²Eball\u003c/h1\u003e\n\nUsing [Bayesian methods](https://scikit-optimize.github.io/) for hyper\nparameter optimization with [AC²E](https://github.com/matthschw/ace) takes\nabout as long as nine innings.\n\n\u003cb align=\"center\"\u003eBest Model NAND4\u003c/b\u003e\n\n![objective](./docs/plots/nand4/best-model.svg)\n\n| Description | Value       |\n|-------------|-------------|\n| optimzer    | gp_minimize |\n| estimator   | GBRT        |\n| generator   | sobol       |\n| acquisitor  | PI          |\n| wn0         | 0.000015    |\n| wn1         | 0.000029    |\n| wn2         | 0.000045    |\n| wn3         | 0.000072    |\n| wp          | 0.000041    |\n| vs0         | 1.6602      |\n| vs1         | 1.652853    |\n| vs2         | 1.662488    |\n| vs3         | 1.659937    |\n| cost        | 0.021502    |\n\nSee the reports on optimizing an [inverter chain](./docs/nand4.md)  and a\n[schmitt trigger](./docs/st1.md) for a detailed comparison of algorithms\noffered by scikit-optimize.\n\nThese plots were generated by running `bace.hy`.\n\n## Setup\n\nThe basic setup is as follows:\n\n```hy\n(optimizer :func                    design-objective\n           :dimensions              design-space \n           :n-calls                 128\n           :n-random-starts         32\n           :base-estimator          estimator\n           :initial-point-generator generator\n           :acq-func                acquisitor\n           :xi                      0.01\n           :kappa                   1.96\n           :random-state            666\n           :n-jobs                  42\n           :verbose                 True)\n```\n\nWhere \n- `optimizer  ∈  [forest-minimize gbrt-minimize gp-minimize]` \n- `estimator  ∈  [\"GP\" \"RF\" \"ET\" \"GBRT\"]`\n- `generator  ∈  [\"random\" \"sobol\" \"halton\" \"hammersly\" \"lhs\" \"grid\"]` \n- `acquisitor ∈  [\"LCB\" \"EI\" \"PI\"]` \n\n## Dependencies \n\n- [AC²E](https://github.com/matthschw/ace)\n- [HAC²E](https://github.com/augustunderground/hace)\n\n## WIP\n\n- [ ] Vary `kappa` and `xi`\n- [ ] Find way to benchmark `ps` variants\n- [ ] Try optimizing amplifiers\n\n## Design Objective NAND4\n\n![inverter chain](https://raw.githubusercontent.com/matthschw/ace/main/figures/nand4.png)\n\nOptimize the widths `[wn0, wn1, wn2, wn3, wp]` such that the switching voltages\n`vsi = vdd / 2 = 1.65V` where `i ∈ [0,1,2,3]`.\n\n### Design Space\n\n```hy\n(setv design-space \n  [ (space.Real 0.4e-6 150e-6 :name \"wn0\" :prior \"normal\")\n    (space.Real 0.4e-6 150e-6 :name \"wn1\" :prior \"normal\")\n    (space.Real 0.4e-6 150e-6 :name \"wn2\" :prior \"normal\")\n    (space.Real 0.4e-6 150e-6 :name \"wn3\" :prior \"normal\")\n    (space.Real 0.4e-6 150e-6 :name \"wp\"  :prior \"normal\") ])\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustunderground%2Fbaceball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faugustunderground%2Fbaceball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustunderground%2Fbaceball/lists"}