ABCdiscrete
Python software for black-box optimization for discrete data. Based on ideas from Approximate Bayesian Computation and Differential Evolution.
Install / Use
/learn @IlzeAmandaA/ABCdiscreteREADME
ABCdiscrete: Approximate Bayesian Computation for Discrete Data
The repository contains the python code required to reproduce the experiments carried out in the following paper:
- Auzina, I. A., & Tomczak, J. M. (2021). Approximate bayesian computation for discrete spaces. Entropy, 23(3), 312., Entropy
Requirements
The code requires:
- python 3.5 or above
- numpy
- scipy
- scikit-image
- matplotlib
- nasbench software and its dependencies (https://github.com/google-research/nasbench)
Run the Experiments
- Open the
experimentsdirectory - Select one of the experiments of interest
- Check the settings and update the pythonpath and the datapath (if needed), see example below:
- PYTHONPATH = '/home/username/location/ABCdiscrete/experiments'
- DATA_PATH = '/home/username/location/nasbench_only108.tfrecord'
- Run the experiment
the python code is ran in multiple parallel processes (MAX_PROCESS), thus, check how many nodes you have available
Evaluate the Experiments
- Open the
evaluatedirectory - Select the experiment you want to evaluate
- Check the settings and update the pythonpath and the datapath
- Run the evaluation
Overall Design
The repository is organized in 7 folders, which details are described below:
- experiments: the directory contains the main execution files for each experiment (every experiment has a separate execution file).
- testbeds : the directory contains the use-cases utilised for the experiments. The super class
main_usecase.pyspecifies the functionalities that any use-case must posses (if you want to implement an additional use-case). - algorithms: contains the super class,
main_sampling.pythat specifies the minimum required functions, and the subclasses:- population-based MCMC
mcmc.py - population-based ABC
abc.py
- population-based MCMC
- kernels: contains the possible proposal distributions.
- results: the directory where the results will be stored.
- evaluate: contains the execution files for the evaluation.
- utils: contains additional functionalities such as plotting or creating text files to aid storing the results in a more user-friendly way.
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
