{"id":28988699,"url":"https://github.com/eidoslab/neuralvelocity","last_synced_at":"2025-06-24T22:06:37.890Z","repository":{"id":287914924,"uuid":"960496808","full_name":"EIDOSLAB/NeuralVelocity","owner":"EIDOSLAB","description":"NeVe - Neural Velocity for hyperparameter tuning (IJCNN 2025)","archived":false,"fork":false,"pushed_at":"2025-06-17T16:48:34.000Z","size":1128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-17T17:43:48.158Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EIDOSLAB.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,"zenodo":null}},"created_at":"2025-04-04T14:34:10.000Z","updated_at":"2025-06-17T16:48:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"83a25d69-18a6-4bed-bfbf-06624717c22f","html_url":"https://github.com/EIDOSLAB/NeuralVelocity","commit_stats":null,"previous_names":["eidoslab/neuralvelocity"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EIDOSLAB/NeuralVelocity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EIDOSLAB%2FNeuralVelocity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EIDOSLAB%2FNeuralVelocity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EIDOSLAB%2FNeuralVelocity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EIDOSLAB%2FNeuralVelocity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EIDOSLAB","download_url":"https://codeload.github.com/EIDOSLAB/NeuralVelocity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EIDOSLAB%2FNeuralVelocity/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261764387,"owners_count":23206255,"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":"2025-06-24T22:06:37.051Z","updated_at":"2025-06-24T22:06:37.881Z","avatar_url":"https://github.com/EIDOSLAB.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧠 [IJCNN 2025] NeVe: Neural Velocity for hyperparameter tuning\n\n[![Docker Ready](https://img.shields.io/badge/docker-ready-blue?logo=docker)](https://www.docker.com/)\n[![GPU Support](https://img.shields.io/badge/GPU-Supported-green?logo=nvidia)](https://developer.nvidia.com/cuda-zone)\n[![Python 3.8.8](https://img.shields.io/badge/python-3.8.8-blue.svg)](https://www.python.org/downloads/release/python-388/)\n[![PyTorch](https://img.shields.io/badge/framework-PyTorch-EE4C2C?logo=pytorch)](https://pytorch.org/)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![arXiv](https://img.shields.io/badge/arXiv-xxxx.xxxxx-b31b1b.svg)](https://arxiv.org/abs/xxxx.xxxxx)\n\nThis repository contains the official implementation of the paper:\n\u003e **Neural Velocity for hyperparameter tuning**  \n\u003e *Gianluca Dalmasso, et al.*  \n\u003e IJCNN 2025  \n\u003e 📄 [arXiv / DOI link here]\n\n---\n\n![Teaser](assets/teaser.png)\n\n## 📂 Project Structure\n```bash\nNeuralVelocity/\n├── 📁 assets/                   # Teaser images, figures, etc.\n├── 📁 src/\n│   ├── 📁 dataloaders/          # CIFAR, ImageNet loaders\n│   ├── 📁 labelwave/            # Competing method: LabelWave\n│   ├── 📁 ultimate_optimizer/   # Competing method: Ultimate Optimizer\n│   ├── 📁 neve/                 # 💡 Core method: Neural Velocity\n│   ├── 📁 models/               # Model architectures (e.g. CIFAR ResNets, INet ResNets, ...)\n│   ├── 📁 optimizers/           # Optimizers\n│   ├── 📁 schedulers/           # LR schedulers\n│   ├── 📁 swin_transformer/     # Swin Transformer model architecture\n│   ├── arguments.py                          # CLI args and config parser\n│   ├── classification.py                     # Training pipeline (base)\n│   ├── classification_labelwave.py           # For LabelWave experiments\n│   ├── classification_ultimate_optimizer.py  # For Ultimate Optimizer experiments\n│   └── utils.py                              # Utility functions\n├── Dockerfile                   # Default Docker container\n├── Dockerfile.python            # Base Python environment\n├── Dockerfile.sweep             # Sweep setup (e.g. for tuning)\n├── LICENSE                      # GNU GPLv3 license\n├── README.md                    # Project overview\n├── build.sh                     # Build script (e.g. for Docker or sweep)\n├── requirements.txt             # Python dependencies\n└── setup.py                     # Install package for pip\n```\n\n---\n\n## 🚀 Getting Started\nYou can run this project either using a Python virtual environment or a Docker container.\n\n#### ✅ Clone the repository\n```bash\ngit clone https://github.com/EIDOSLAB/NeuralVelocity.git\ncd NeuralVelocity\n```\n\n### 🧪 Option A — Run with virtual environment (recommended for development)\n\n#### 📦 Create virtual environment \u0026 install dependencies\n\u003e This project was developed and tested with Python 3.8.8 — we recommend using the same version for full compatibility and reproducibility.\n```bash\n# 1. Install Python 3.8.8 (only once)\npyenv install 3.8.8\n\n# 2. Create virtual environment\npyenv virtualenv 3.8.8 neve\n\n# 3. Activate the environment\npyenv activate neve\n\n# 4. Install dependencies\npip install -r requirements.txt\n```\n\n#### 🚀 Run training\n```bash\ncd src\npython classification.py\n```\n\n### 🐳 Option B — Run with Docker\nYou can also use Docker for full environment reproducibility.\n\n#### 🏗️ Build Docker images and push to remote registry\nThe `build.sh` script automates the build of all Docker images and pushes them to the configured remote Docker registry.\n\nBefore running, make sure to edit `build.sh` to set your remote registry URL and credentials if needed.\n\nRun:\n```bash\nbash build.sh\n```\nThis will build the following Docker images:\n- `neve:base` (default container for training and experiments)\n- `neve:python` (base Python environment)\n- `neve:sweep` (for hyperparameter sweep experiments)\n    \n#### 🚀 Run training inside the container\n```bash\ndocker run --rm -it \\\n  --gpus all \\                   # Optional: remove if no GPU\n  neve:python classification.py  # Optional: Optional parameters...\n```\n\u003e 💡 Note: you may need to adjust volume mounting (-v) depending on your OS and Docker setup.\n\n---\n\n## 📊 Datasets\nTested datasets:\n - [CIFAR10, and CIFAR100](https://www.cs.toronto.edu/~kriz/cifar.html)\n - [Imagenet-100](https://www.image-net.org/challenges/LSVRC/2012/) (must be downloaded separately and prepared in the standard folder format.)\n\n---\n\n## 🪪 License\nThis project is licensed under the **GNU General Public License v3.0**.  \nSee the [LICENSE](./LICENSE) file for details.\n\n➡️ You are free to use, modify, and distribute this code under the same license terms.  \nAny derivative work must also be distributed under the GNU GPL.\n\n---\n\n## 🙌 Acknowledgments\nThis research was developed at the University of Turin (UniTO), within the [EIDOS Lab](https://www.di.unito.it/~eidos/), and Télécom Paris.\n\nWe thank the members of both institutions for the insightful discussions and support during the development of this work.\n\n\n---\n\n## 📜 Citation\nIf you use this repository or find our work helpful, please cite:\n```bibtex\n@misc{dalmasso2025neve,\n  title        = {Neural Velocity for Hyperparameter Tuning},\n  author       = {Gianluca Dalmasso and Others},\n  year         = {2025},\n  howpublished = {\\url{https://arxiv.org/abs/xxxx.xxxxx}},\n  note         = {Accepted at IJCNN 2025. Official citation will be updated upon publication.}\n}\n```\n\n---\n\n## 📫 Contact\nFor questions or collaborations, feel free to reach out:\n- 📧 gianluca.dalmasso@unito.it\n- 🐙 GitHub Issues for bugs or feature requests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feidoslab%2Fneuralvelocity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feidoslab%2Fneuralvelocity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feidoslab%2Fneuralvelocity/lists"}