- GPU: To run high-dimensional (D>100) problems with
GIT-BO, please ensure you have access to a GPU with at least 20 GB of GPU memory. Otherwise, it is possible that you will run into the CUDA OUT_OF_MEMORY error, and we cannot ensure the algorithm's success. - System: GIT-BO is set to be run on x86_64 architecture, Linux Ubuntu 22.04
- To run the main
GIT-BOalgorithm withTURBOandSAASBObaseline algorithms, make a conda/mamba environment and install the requirements:
pip install -r GITBO_requirements.txt
- GIT-BO Essential: GIT-BO requires download the tabular foundation model TabPFNv2.
As we change some of the tabpfn code for
GIT-BO, please use the provided tabpfn code here from this repo instead of directly downloading the tabpfn official repo. Additionally,GIT-BOuses theTabPFN-v2-reg model(thetabpfn-v2-regressor.ckpt) as its model. Please download this checkpoint and put it undertabpfn/model/if it is not already there.
With all the executables and data properly installed, the final directory structure should look like this:
GITBO/
├─ tabpfn/
│ ├─ model/
│ │ ├─ tabpfn-v2-regressor.ckpt
│ │ └─ ......
│ └─ ......
└─ ......
The Python script for running GIT-BO is run_GITBO.py. The algorithm can be run as follows:
python run_GITBO.py --ITER 10 --FUNC_NAME Ackley --DIM 100
- The
ITERflag determines the total number of iterations the algorithm runs. For the full experiment, we set it at 200 (but this will require more GPU memory). - The
DIMflag determines the problem dimension.