Skip to content

MetaEvo/EoB

Repository files navigation

EoB

This project provides the sourcecodes of Evolution of Benchmark (EoB).

Requirement

Create the conda environment with python 3.10.13 and torch 2.1.1, then install packages:

conda create -n EoB python=3.10.13
conda activate EoB
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=12.4 -c pytorch -c nvidia
pip install -r requirements.txt

Run

Before starting the EoB search, please follow the instructions on (this website) to apply for API-KEY, then configure the corresponding API-KEY in main.py:

api_key = 'your-api-key-here'
model = 'deepseek-v3.2'

To search EoB-BBOB, run:

python main.py --task_mode 'task_bbob_expand' --dim 10 --n_jobs 1

To search EoB-HPO, run:

python main.py --task_mode 'task_hpo_expand' --dim 10 --n_jobs 1

To search EoB-UAV, run:

python main.py --task_mode 'task_uav_expand' --dim 15 --n_jobs 1

Adjusting the --n_jobs(default is 1) based on the computing resources (number of CPU cores) can significantly improve the computational efficiency of EoB search. For more adjustable settings, please refer to the detailed description in config.py.

Recording results: all files will be saved to ./save, the file structure is as follow:

save
|--deepseek-v3.2
   |--YYYYMMDD-HHMMSS
      |--pareto_archive_solutions.md
      |--pareto_archive_data.pkl
      |--function_evolution_log.md
      |--MO_function_evolution_log.pkl
      |--...
      |--...

You can find the final set of Parent front functions from a single EoB search in pareto_archive_solutions.md, which includes the function code, LSI, and ADC scores. Additionally, you can view detailed information in function_evolution_log.md, such as the population and reflection for each generation during the EoB search.

About

Implementation of Evolution of Benchmark (EoB)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors