Skip to main content

A benchmark for NAS algorithms

Project description

EvoXBench Logo
Neural Architecture Search as Multiobjective Optimization Benchmarks: Problem Formulation and Performance Assessment arXiv


EvoXBench is a platfrom offering instant benchmarking of evolutionary multi-objective optimization (EMO) algorithms in neural architecture search (NAS), with ready to use test suites. It facilitates efficient performance assessments with NO requirement of GPUs or PyTorch/TensorFlow, enhancing accessibility for a broader range of research applications. It encompasses extensive test suites that cover a variety of datasets (CIFAR10, ImageNet, Cityscapes, etc.), search spaces (NASBench101, NASBench201, NATS, DARTS, ResNet50, Transformer, MNV3, MoSegNAS, etc.), and hardware devices (Eyeriss, GPUs, Samsung Note10, etc.). It provides a versatile interface compatible with multiple programming languages (Java, Matlab, Python, etc.).


📢 Latest News & Updates

  • EvoXBench has been updated to version 1.0.5! This latest release addresses bugs in CitySeg/MOP10 and HV calculation in the CitySeg/MOP test suite.

    If you're already onboard with EvoXBench, give this command a spin: pip install evoxbench==1.0.5.

⭐️ Key Features

📐 General NAS Problem Formulation

  • Formulating NAS tasks into general multi-objective optimization problems.
  • Exploring NAS's nuanced traits through the prism of evolutionary optimization.

🛠️ Efficient Benchmarking Pipeline

  • Presenting an end-to-end worflow for instant benchmark assessments of EMO algorithms.
  • Providing instant fitness evaluations as numerical optimization.

📊 Comprehensive Test Suites

  • Encompassing a wide spectrum of datasets, search spaces, and hardware devices.
  • Ready-to-use test multi-objective optimization suites with up to eight objectives.

Get Started

Dive into the tutorial
Tap the image to embark on the introductory video voyage.

Setup & Installation

  1. Download requisite files:

  2. Run pip install evoxbench to get the benchmark.

  3. Configure the benchmark:

    from evoxbench.database.init import config

    config("Path to database", "Path to data")
    # For instance:
    # With this structure:
    # /home/Downloads/
    # └─ database/
    # |  |  __init__.py
    # |  |  db.sqlite3
    # |  |  ...
    # |
    # └─ data/
    #    └─ darts/
    #    └─ mnv3/
    #    └─ ...
    # Then, execute:
    # config("/home/Downloads/database", "/home/Downloads/data")

About the Database

Explore our comprehensive database and understand its structure and content. Check it out here.

Community & Support

  • Use the issue tracker for bugs or questions.
  • Submit your enhancements through a pull request (PR).
  • We have an active QQ group (ID: 297969717).
  • Official Website: https://evox.group/

Sister Projects

  • EvoX: A computing framework for distributed GPU-aceleration of evolutionary computation, supporting a wide spectrum of evolutionary algorithms and test problems. Check out here.

Citing EvoXBench

If you use EvoXBench in your research and want to cite it in your work, please use:

@article{EvoXBench,
  title={Neural Architecture Search as Multiobjective Optimization Benchmarks: Problem Formulation and Performance Assessment},
  author={Lu, Zhichao and Cheng, Ran and Jin, Yaochu and Tan, Kay Chen and Deb, Kalyanmoy},
  journal={IEEE Transactions on Evolutionary Computation},
  year={2023},
  publisher={IEEE}
}

Acknowledgements

A big shoutout to the following projects that have made EvoXBench possible:

NAS-Bench-101, NAS-Bench-201, NAS-Bench-301, NATS-Bench, Once for All, AutoFormer, Django, pymoo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evoxbench-1.0.5.tar.gz (102.6 kB view details)

Uploaded Source

Built Distribution

evoxbench-1.0.5-py3-none-any.whl (183.4 kB view details)

Uploaded Python 3

File details

Details for the file evoxbench-1.0.5.tar.gz.

File metadata

  • Download URL: evoxbench-1.0.5.tar.gz
  • Upload date:
  • Size: 102.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for evoxbench-1.0.5.tar.gz
Algorithm Hash digest
SHA256 d770e8ed44cb2656843a312a42f2f12e00113de62ee24255c3516308eb4c8d80
MD5 05c285af743e1c51f32bcca639ac8184
BLAKE2b-256 510f408cc48558b94b770c430f7beee3699df6ba75109d8d9b366d96b5678ef3

See more details on using hashes here.

File details

Details for the file evoxbench-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: evoxbench-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 183.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for evoxbench-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8e46a5351fffa021e38b6200740bc4a4c5c47737f7cc4ac77f9c430934ded341
MD5 8f47faadccf6dbdbb46e37b9b367fff1
BLAKE2b-256 744c8fa6e697060f9b9ba7c7827983f541ffdda7df560f0f75fbf98dc9685427

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page