MCPcopy Index your code
hub / github.com/COLA-Laboratory/TransOPT

github.com/COLA-Laboratory/TransOPT @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,433 symbols 6,910 edges 371 files 438 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TransOPT: Transfer Optimization System for Bayesian Optimization Using Transfer Learning

Docs | Tutorials | Examples | Paper | Citation |

Code style: black Code style: black

Welcome to TransOPT!

TransOPT is an open-source software platform designed to facilitate the design, benchmarking, and application of transfer learning for Bayesian optimization (TLBO) algorithms through a modular, data-centric framework.

Features

  • Contains more than 1000 benchmark problems covers diverse range of domains.
  • Build custom optimization algorithms as easily as stacking building blocks.
  • Leverage historical data to achieve more efficient and informed optimization.
  • Deploy experiments through an intuitive web UI and monitor results in real-time.

TransOPT empowers researchers and developers to explore innovative optimization solutions effortlessly, bridging the gap between theory and practical application.

Installation: how to install TransOPT

TransOPT is composed of two main components: the backend for data processing and business logic, and the frontend for user interaction. Each can be installed as follows:

Prerequisites

Before installing TransOPT, you must have the following installed:

  • Python 3.10+: Ensure Python is installed.
  • Node.js 17.9.1+ and npm 8.11.0+: These are required to install and build the frontend. Download Node.js

Please install these prerequisites if they are not already installed on your system.

  1. Clone the repository: shell $ git clone https://github.com/maopl/TransOpt.git

  2. Install the required dependencies: shell $ cd TransOpt $ python setup.py install

  3. Install the frontend dependencies: shell $ cd webui && npm install

Start the Backend Agent

To start the backend agent, use the following command:

$ python transopt/agent/app.py

Web User Interface Mode

When TransOPT has been started successfully, go to the webui directory and start the web UI on your local machine. Enable the user interface mode with the following command:

cd webui && npm start

This will open the TransOPT interface in your default web browser at http://localhost:3000.

Command Line Mode

In addition to the web UI mode, TransOPT also offers a Command Line (CMD) mode for users who may not have access to a display screen, such as when working on a remote server.

To run TransOPT in CMD mode, use the following command:

python transopt/agent/run_cli.py -n Sphere -v 3 -o 1 -m RF -acf UCB -b 300

This command sets up a task named Sphere with 3 variables and 1 objectives, using a Random Forest model (RF) as surrogate model and the upper confidence bound (UCB) acquisition function, with a budget of 300 function evaluations.

For a complete list of available options and more detailed usage instructions, please refer to the CLI documentation.

Documentation: The TransOPT Process

Our docs walk you through using TransOPT, web UI and key API points. For an overview of the system and workflow for project management, see our documentation documentation.

Why use TransOPT?

Recent years, Bayesian optimization (BO) has been widely used in various fields, such as hyperparameter optimization, molecular design, and synthetic biology. However, conventional BO is not that efficient, where it conduct every optimization task from scratch while ignoring the experiences gained from previous problem-solving practices. To address this challenge, transfer learning (TL) has been introduced to BO, aiming to leverage auxillary data to improve the optimization efficiency and performance. Despite the potential of TLBO, the usage of TLBO is still limited due to the complexity of advanced TLBO methods. TransOPT, a system that facilitates:

  • development of TLBO algorithms;
  • benchmarking the performance of TLBO methods;
  • applications of TLBO for downstream tasks;

Upper-left: illustrates the use of a web UI to construct new optimization algorithms by combining different components. Upper-right: highlights the application of an LLM agent to effectively manage optimization tasks. Middle: shows various visualization results derived from the optimization processes. Lower: presents a performance comparison of different TLBO methods.

Reference & Citation

If you find our work helpful to your research, please consider citing our:

@article{TransOPT,
  title = {{TransOPT}: Transfer Optimization System for Bayesian Optimization Using Transfer Learning},
  author = {Author Name and Collaborator Name},
  url = {https://github.com/maopl/TransOPT},
  year = {2024}
}

Core symbols most depended-on inside this repo

_hparam
called by 94
transopt/benchmark/HPOOOD/hparams_registry.py
log
called by 93
transopt/agent/chat/openai_chat.py
sum
called by 85
transopt/utils/sk.py
add
called by 77
transopt/datamanager/lsh.py
parameters
called by 74
transopt/benchmark/HPOOOD/misc.py
get
called by 68
transopt/agent/registry.py
eval
called by 47
transopt/benchmark/HPOOOD/algorithms.py
fit
called by 36
transopt/optimizer/model/rf.py

Shape

Method 1,556
Function 497
Class 361
Route 19

Languages

Python93%
TypeScript7%

Modules by API surface

transopt/benchmark/HPOOOD/algorithms.py152 symbols
transopt/utils/Prior.py150 symbols
transopt/benchmark/synthetic/synthetic_problems.py94 symbols
transopt/benchmark/HPOOOD/misc.py72 symbols
transopt/benchmark/HPOOOD/ooddatasets.py66 symbols
transopt/utils/sk.py44 symbols
transopt/benchmark/problem_base/transfer_problem.py41 symbols
transopt/benchmark/HPO/networks.py37 symbols
transopt/agent/app.py36 symbols
transopt/space/variable.py35 symbols
transopt/datamanager/database.py32 symbols
transopt/benchmark/HPO/image_options.py32 symbols

For agents

$ claude mcp add TransOPT \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact