{"id":18600782,"url":"https://github.com/autonomousvision/akorn","last_synced_at":"2026-01-24T10:33:35.074Z","repository":{"id":258243166,"uuid":"873564209","full_name":"autonomousvision/akorn","owner":"autonomousvision","description":"[ICLR'25] Artificial Kuramoto Oscillatory Neurons","archived":false,"fork":false,"pushed_at":"2025-10-20T17:40:23.000Z","size":106,"stargazers_count":103,"open_issues_count":1,"forks_count":20,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-10-20T17:40:47.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://takerum.github.io/akorn_project_page/","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/autonomousvision.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-16T11:33:02.000Z","updated_at":"2025-10-20T17:40:28.000Z","dependencies_parsed_at":"2025-06-09T18:34:36.217Z","dependency_job_id":null,"html_url":"https://github.com/autonomousvision/akorn","commit_stats":null,"previous_names":["autonomousvision/akorn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/autonomousvision/akorn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Fakorn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Fakorn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Fakorn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Fakorn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autonomousvision","download_url":"https://codeload.github.com/autonomousvision/akorn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Fakorn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28725366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"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":[],"created_at":"2024-11-07T02:05:24.314Z","updated_at":"2026-01-24T10:33:35.069Z","avatar_url":"https://github.com/autonomousvision.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eArtificial Kuramoto Oscillatory Neurons (AKOrN) \u003c/h1\u003e \n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://takerum.github.io/\"\u003eTakeru Miyato\u003c/a\u003e\n  ·\n  \u003ca href=\"https://sindylowe.com/\"\u003eSindy Löwe\u003c/a\u003e\n  ·\n  \u003ca href=\"https://www.cvlibs.net/\"\u003eAndreas Geiger\u003c/a\u003e\n   ·\n  \u003ca href=\"https://staff.fnwi.uva.nl/m.welling/\"\u003eMax Welling\u003c/a\u003e\n\u003c/p\u003e\n  \u003ch3 align=\"center\"\u003e \u003ca href=\"https://takerum.github.io/akorn_project_page/\"\u003e[Project page]\u003c/a\u003e \u003ca href=\"https://arxiv.org/abs/2410.13821\"\u003e[Paper]\u003c/a\u003e  \u003c/h3\u003e\n  \u003ch2 align=\"center\"\u003e ICLR2025 (Oral)\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/7f7a6dab-3bf6-4e15-b985-fc98dc1b443a\" width=\"120\" height=\"auto\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/72090614-6bf4-484e-807b-d812c67e6385\" width=\"500\" height=\"auto\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/f38fc1da-fd4d-4720-8c0e-8fad0c7c97dd\" width=\"100\" height=\"auto\"\u003e\n\u003c/p\u003e\n\n\n\nThis page contains instructions for the initial environment setup and code for the CLEVR-Tex experiments.\n- Minimal AKOrN model on Google Colab (The fish example in the paper) [here](https://colab.research.google.com/drive/1n8x2uskNxRIqJvvNaljWDuLAMvxkw0Qn)\n- Code for other synthetic datasets (Tetrominoes, dSprits, CLEVR): [here](https://github.com/autonomousvision/akorn/blob/main/scripts/synths.md)\n- Sudoku solving:  [here](https://github.com/autonomousvision/akorn/blob/main/scripts/sudoku.md)\n\n## Setup Conda env\n\n```\nyes | conda create -n akorn python=3.12\nconda activate akorn\npip3 install -r requirements.txt\n```\n\n## Download the CLEVRTex dataset\n```\ncd data\nbash download_clevrtex.sh\ncd ..\n```\n\n## Training\n```\nexport NUM_GPUS=\u003cnumber_of_gpus\u003e # If you use a single GPU, run a command without the multi GPU option  (remove `--multi-gpu`).\n```\n\n### CLEVRTex\n\n#### AKOrN \n```\nexport L=1 # The number of layers. L=1 or 2. This can be \u003e2, but we only experimented with a single or two-layer model.\naccelerate launch --multi-gpu --num_processes=$NUM_GPUS  train_obj.py --exp_name=clvtex_akorn --data_root=./data/clevrtex_full/ --model=akorn --data=clevrtex_full --J=attn --L=${L}\n\n# Larger model (L=2, ch=512, bs=512)\naccelerate launch --multi-gpu --num_processes=$NUM_GPUS  train_obj.py --exp_name=clvtex_large_akorn --data_root=./data/clevrtex_full/ --model=akorn --data=clevrtex_full --J=attn --L=2 --ch=512 --batchsize=512 --epochs=1024 --lr=0.0005\n```\n\n#### ItrSA\n```\nexport L=1\naccelerate launch --multi-gpu --num_processes=$NUM_GPUS  train_obj.py --exp_name=clvtex_itrsa --data_root=./data/clevrtex_full/ --model=vit --data=clevrtex_full --L=${L} --gta=False\n```\n\n## Evaluation\n\n### CLEVRTex (-OOD, -CAMO) \n\n```\nexport DATA_TYPE=full #{full, outd, camo}\nexport L=1\n# AKOrN\npython eval_obj.py  --data_root=./data/clevrtex_${DATA_TYPE}/  --model=akorn  --data=clevrtex_${DATA_TYPE} --J=attn --L=${L} --model_path=runs/clvtex_akorn/ema_499.pth --model_imsize=128\n# ItrSA\npython eval_obj.py  --data_root=./data/clevrtex_${DATA_TYPE}/  --model=vit  --data=clevrtex_${DATA_TYPE} --gta=False --L=${L} --model_path=runs/clvtex_itrsa/ema_499.pth --model_imsize=128\n```\n\n### Eval with Up-tiling (See Appendix section).\n```\n# Might take long time depending on the CPU spec\npython eval_obj.py  --data_root=./data/clevrtex_${DATA_TYPE}/  --saccade_r=4 --model=akorn  --data=clevrtex_${DATA_TYPE} --J=attn --L=${L} --model_path=runs/clvtex_akorn/ema_499.pth --model_imsize=128\n```\n\n#### Performance table\n| Model                              | CLEVRTex FG-ARI | CLEVRTex MBO | OOD FG-ARI | OOD MBO | CAMO FG-ARI | CAMO MBO |\n|------------------------------------|-----------------|--------------|------------|---------|-------------|----------|\n| ViT                                | 46.4±0.6        | 25.1±0.7     | 44.1±0.5 |  27.2±0.5   | 32.5±0.6    | 16.1±1.1 |\n| ItrSA (L = 1)              | 65.7±0.3        | 44.6±0.9     | 64.6±0.8 | 45.1±0.4   | 49.0±0.7    | 30.2±0.8 |\n| ItrSA (L = 2)              | 76.3±0.4        | 48.5±0.1     | 74.9±0.8 | 46.4±0.5   | 61.9±1.3    | 37.1±0.5 |\n| AKOrN (attn, L = 1)         | 75.6±0.2        | 55.0±0.0     | 73.4±0.4 | 56.1±1.1   | 59.9±0.1    | 44.3±0.9 |\n| AKOrN (attn, L = 2)              | 80.5±1.5        | 54.9±0.6     | 79.2±1.2 | 55.7±0.5   | 67.7±1.5    | 46.2±0.9 |\n\n##### With Up-tiling (x4)\n| Model                              | CLEVRTex FG-ARI | CLEVRTex MBO | OOD FG-ARI | OOD MBO | CAMO FG-ARI | CAMO MBO |\n|------------------------------------|-----------------|--------------|------------|---------|-------------|----------|\n| AKOrN (attn, L = 2)            | 87.7±1.0        | 55.3±2.1     | 85.2±0.9 | 55.6±1.5   | 74.5±1.2    | 45.6±3.4 |\n| Large AKOrN (attn, L = 2)       | 88.5±0.9        | 59.7±0.9     | 87.7±0.5 | 60.8±0.6  | 77.0±0.5    | 53.4±0.7 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautonomousvision%2Fakorn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautonomousvision%2Fakorn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautonomousvision%2Fakorn/lists"}