All Projects → facebook → Ax

facebook / Ax

Licence: mit
Adaptive Experimentation Platform

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Ax

Kubeflowdojo
Repository to hold code, instructions, demos and pointers to presentation assets for Kubeflow Dojo
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Monetizing Machine Learning
Source code for 'Monetizing Machine Learning' by Manuel Amunategui and Mehdi Roopaei
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Pymc3 vs pystan
Personal project to compare hierarchical linear regression in PyMC3 and PyStan, as presented at http://pydata.org/london2016/schedule/presentation/30/ video: https://www.youtube.com/watch?v=Jb9eklfbDyg
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Leetcode Course
A guide to crushing tech interviews.
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Taiwanreferendum
2018台灣公投結果中的不合理數據
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Bigquery Tutorial
Google BigQuery Tutorial for Data Analyst
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Densecap
Dense image captioning in Torch
Stars: ✭ 1,469 (-11.67%)
Mutual labels:  jupyter-notebook
Natural Language Object Retrieval
Code release for Hu et al. Natural Language Object Retrieval, in CVPR, 2016
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Google Images Dataset
This repository provides the necessary code to create your own Google Images Dataset.
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Cs231n Convolutional Neural Networks Solutions
Assignment solutions for the CS231n course taught by Stanford on visual recognition. Spring 2017 solutions are for both deep learning frameworks: TensorFlow and PyTorch.
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Sklearn
Data & Code associated with my tutorial on the sci-kit learn machine learning library in python
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Gtc2019 Numba
Numba tutorial for GTC2019
Stars: ✭ 109 (-93.45%)
Mutual labels:  jupyter-notebook
Contrastive
Contrastive PCA
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Nvidia Gpu Tensor Core Accelerator Pytorch Opencv
A complete machine vision container that includes Jupyter notebooks with built-in code hinting, Anaconda, CUDA-X, TensorRT inference accelerator for Tensor cores, CuPy (GPU drop in replacement for Numpy), PyTorch, TF2, Tensorboard, and OpenCV for accelerated workloads on NVIDIA Tensor cores and GPUs.
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Introduction To Linear Programming
Introduction to Linear Programming with Python
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Mtcnn
MTCNN face detection implementation for TensorFlow, as a PIP package.
Stars: ✭ 1,689 (+1.56%)
Mutual labels:  jupyter-notebook
Keras Tutorials
一个面向初学者的,友好的Keras入门教程
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Deeplearning tutorials
The deeplearning algorithms implemented by tensorflow
Stars: ✭ 1,580 (-4.99%)
Mutual labels:  jupyter-notebook
Py Causal
Stars: ✭ 110 (-93.39%)
Mutual labels:  jupyter-notebook
Wifi activity recognition
Code for IEEE Communication Magazine (A Survey on Behaviour Recognition Using WiFi Channle State Information)
Stars: ✭ 109 (-93.45%)
Mutual labels:  jupyter-notebook

Ax Logo


Build Status Build Status Build Status Build Status codecov Build Status

Ax is an accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments.

Adaptive experimentation is the machine-learning guided process of iteratively exploring a (possibly infinite) parameter space in order to identify optimal configurations in a resource-efficient manner. Ax currently supports Bayesian optimization and bandit optimization as exploration strategies. Bayesian optimization in Ax is powered by BoTorch, a modern library for Bayesian optimization research built on PyTorch.

For full documentation and tutorials, see the Ax website

Why Ax?

  • Versatility: Ax supports different kinds of experiments, from dynamic ML-assisted A/B testing, to hyperparameter optimization in machine learning.
  • Customization: Ax makes it easy to add new modeling and decision algorithms, enabling research and development with minimal overhead.
  • Production-completeness: Ax comes with storage integration and ability to fully save and reload experiments.
  • Support for multi-modal and constrained experimentation: Ax allows for running and combining multiple experiments (e.g. simulation with a real-world "online" A/B test) and for constrained optimization (e.g. improving classification accuracy without significant increase in resource-utilization).
  • Efficiency in high-noise setting: Ax offers state-of-the-art algorithms specifically geared to noisy experiments, such as simulations with reinforcement-learning agents.
  • Ease of use: Ax includes 3 different APIs that strike different balances between lightweight structure and flexibility. Using the most concise Loop API, a whole optimization can be done in just one function call. The Service API integrates easily with external schedulers. The most elaborate Developer API affords full algorithm customization and experiment introspection.

Getting Started

To run a simple optimization loop in Ax (using the Booth response surface as the artificial evaluation function):

>>> from ax import optimize
>>> best_parameters, best_values, experiment, model = optimize(
        parameters=[
          {
            "name": "x1",
            "type": "range",
            "bounds": [-10.0, 10.0],
          },
          {
            "name": "x2",
            "type": "range",
            "bounds": [-10.0, 10.0],
          },
        ],
        # Booth function
        evaluation_function=lambda p: (p["x1"] + 2*p["x2"] - 7)**2 + (2*p["x1"] + p["x2"] - 5)**2,
        minimize=True,
    )

# best_parameters contains {'x1': 1.02, 'x2': 2.97}; the global min is (1, 3)

Installation

Requirements

You need Python 3.7 or later to run Ax.

The required Python dependencies are:

  • botorch
  • jinja2
  • pandas
  • scipy
  • sklearn
  • plotly >=2.2.1

Stable Version

Installing via pip

We recommend installing Ax via pip (even if using Conda environment):

conda install pytorch torchvision -c pytorch  # OSX only (details below)
pip3 install ax-platform

Installation will use Python wheels from PyPI, available for OSX, Linux, and Windows.

Note: Make sure the pip3 being used to install ax-platform is actually the one from the newly created Conda environment. If you're using a Unix-based OS, you can use which pip3 to check.

Recommendation for MacOS users: PyTorch is a required dependency of BoTorch, and can be automatically installed via pip. However, we recommend you install PyTorch manually before installing Ax, using the Anaconda package manager. Installing from Anaconda will link against MKL (a library that optimizes mathematical computation for Intel processors). This will result in up to an order-of-magnitude speed-up for Bayesian optimization, as at the moment, installing PyTorch from pip does not link against MKL.

If you need CUDA on MacOS, you will need to build PyTorch from source. Please consult the PyTorch installation instructions above.

Optional Dependencies

To use Ax with a notebook environment, you will need Jupyter. Install it first:

pip3 install jupyter

If you want to store the experiments in MySQL, you will need SQLAlchemy:

pip3 install SQLAlchemy

Latest Version

Installing from Git

You can install the latest (bleeding edge) version from Git:

pip3 install git+ssh://[email protected]/facebook/Ax.git#egg=ax-platform

See recommendation for installing PyTorch for MacOS users above.

At times, the bleeding edge for Ax can depend on bleeding edge versions of BoTorch (or GPyTorch). We therefore recommend installing those from Git as well:

pip3 install git+https://github.com/cornellius-gp/gpytorch.git
pip3 install git+https://github.com/pytorch/botorch.git

Optional Dependencies

If using Ax in Jupyter notebooks:

pip3 install git+ssh://[email protected]/facebook/Ax.git#egg=ax-platform[notebook]

To support plotly-based plotting in newer Jupyter notebook versions

pip install "notebook>=5.3" "ipywidgets==7.5"

See Plotly repo's README for details and JupyterLab instructions.

If storing Ax experiments via SQLAlchemy in MySQL or SQLite:

pip3 install git+ssh://[email protected]/facebook/Ax.git#egg=ax-platform[mysql]

Join the Ax Community

Getting help

Please open an issue on our issues page with any questions, feature requests or bug reports! If posting a bug report, please include a minimal reproducible example (as a code snippet) that we can use to reproduce and debug the problem you encountered.

Contributing

See the CONTRIBUTING file for how to help out.

When contributing to Ax, we recommend cloning the repository and installing all optional dependencies:

# bleeding edge versions of GPyTorch + BoTorch are recommended
pip3 install git+https://github.com/cornellius-gp/gpytorch.git
pip3 install git+https://github.com/pytorch/botorch.git

git clone https://github.com/facebook/ax.git --depth 1
cd ax
pip3 install -e .[notebook,mysql,dev]

See recommendation for installing PyTorch for MacOS users above.

The above example limits the cloned directory size via the --depth argument to git clone. If you require the entire commit history you may remove this argument.

License

Ax is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].