https://github.com/deepbiolab/gitbo
https://github.com/deepbiolab/gitbo
Last synced: about 23 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/deepbiolab/gitbo
- Owner: deepbiolab
- Created: 2025-09-06T14:52:02.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-06T15:33:44.000Z (10 months ago)
- Last Synced: 2025-09-06T17:24:37.366Z (10 months ago)
- Language: Python
- Size: 38.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# High-Dimensional Bayesian Optimization with Tabular Foundation Models
# Requirements
## Hardware Requirement
1. 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.
2. System: GIT-BO is set to be run on x86_64 architecture, Linux Ubuntu 22.04
## Installations
1. To run the main `GIT-BO` algorithm with `TURBO` and `SAASBO` baseline algorithms, make a conda/mamba environment and install the requirements:
```
pip install -r GITBO_requirements.txt
```
## Download open-source model and executables for GIT-BO
1. **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-BO` uses the [`TabPFN-v2-reg model`](https://huggingface.co/Prior-Labs/TabPFN-v2-reg/tree/main) (the `tabpfn-v2-regressor.ckpt`) as its model. Please download this checkpoint and put it under `tabpfn/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
│ │ └─ ......
│ └─ ......
└─ ......
```
# Running experiment
## GIT-BO
### Main algorithm
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 `ITER` flag 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 `DIM` flag determines the problem dimension.