Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,8 @@ jobs:
contents: write

run_tutorials:
name: Run tutorials without smoke test on latest PyTorch / GPyTorch / Ax
name: Run tutorials without smoke test on latest PyTorch / GPyTorch
uses: ./.github/workflows/reusable_tutorials.yml
with:
smoke_test: false
use_stable_pytorch_gpytorch: false
use_stable_ax: false
3 changes: 0 additions & 3 deletions .github/workflows/publish_website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,8 @@ jobs:
- name: Install dependencies
env:
ALLOW_LATEST_GPYTORCH_LINOP: true
ALLOW_BOTORCH_LATEST: true # Allow Ax to install w/ new BoTorch release.
run: |
uv pip install ."[dev, tutorials]"
# There may not be a compatible Ax uv pip version, so we use the development version.
uv pip install git+https://github.com/facebook/Ax.git
- if: ${{ inputs.new_version }}
name: Create new docusaurus version
run: |
Expand Down
20 changes: 0 additions & 20 deletions .github/workflows/reusable_tutorials.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ on:
use_stable_pytorch_gpytorch:
required: true
type: boolean
use_stable_ax:
required: true
type: boolean
workflow_call:
inputs:
smoke_test:
Expand All @@ -22,10 +19,6 @@ on:
required: false
type: boolean
default: false
use_stable_ax:
required: false
type: boolean
default: false

jobs:
tutorials:
Expand Down Expand Up @@ -66,19 +59,6 @@ jobs:
ALLOW_LATEST_GPYTORCH_LINOP: true
run: |
uv pip install .[tutorials]
- if: ${{ !inputs.use_stable_ax }}
name: Install latest Ax
env:
# This is so Ax's setup doesn't install a pinned BoTorch version.
ALLOW_BOTORCH_LATEST: true
run: |
uv pip install git+https://github.com/facebook/Ax.git
- if: ${{ inputs.use_stable_ax }}
name: Install stable Ax
env:
ALLOW_BOTORCH_LATEST: true
run: |
uv pip install ax-platform --no-binary ax-platform
- if: ${{ inputs.smoke_test }}
name: Run tutorials with smoke test
run: |
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/test_stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,16 @@ jobs:
run: |
pytest -ra test_community/ --cov botorch_community/ --cov-report term-missing --cov-report xml:botorch_community_cov.xml

run_tutorials_stable_w_latest_ax:
name: Run tutorials without smoke test on min req. versions of PyTorch & GPyTorch and latest Ax
run_tutorials_stable:
name: Run tutorials without smoke test on min req. versions of PyTorch & GPyTorch
uses: ./.github/workflows/reusable_tutorials.yml
with:
smoke_test: false
use_stable_pytorch_gpytorch: true
use_stable_ax: false

run_tutorials_stable_smoke_test:
name: Run tutorials with smoke test on min req. versions of PyTorch & GPyTorch and latest Ax
name: Run tutorials with smoke test on min req. versions of PyTorch & GPyTorch
uses: ./.github/workflows/reusable_tutorials.yml
with:
smoke_test: true
use_stable_pytorch_gpytorch: true
use_stable_ax: false
3 changes: 1 addition & 2 deletions .github/workflows/tutorials_smoke_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ on:

jobs:
run_tutorials_with_smoke_test:
name: Run tutorials with smoke test on latest PyTorch / GPyTorch / Ax
name: Run tutorials with smoke test on latest PyTorch / GPyTorch
uses: ./.github/workflows/reusable_tutorials.yml
with:
smoke_test: true
use_stable_pytorch_gpytorch: false
use_stable_ax: false
31 changes: 18 additions & 13 deletions docs/tutorials/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,32 @@ title: BoTorch Tutorials
The tutorials here will help you understand and use BoTorch in
your own work. They assume that you are familiar with both
Bayesian optimization (BO) and PyTorch.

If you are new to BO, we recommend you start with the
* If you are new to BO, we recommend you start with the
[Ax docs](https://ax.dev/docs/bayesopt) and the
following
[tutorial paper](https://arxiv.org/abs/1807.02811).

If you are new to PyTorch, the easiest way to get started is
* If you are new to PyTorch, the easiest way to get started is
with the [What is PyTorch?](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)
tutorial.

The BoTorch tutorials are grouped into the following four areas.


<h4>Using BoTorch with Ax</h4>
These tutorials give you an overview of how to leverage
[Ax](https://ax.dev), a platform for sequential
experimentation, in order to simplify the management of your BO
loop. Doing so can help you focus on the main aspects of BO
(models, acquisition functions, optimization of acquisition
functions), rather than tedious loop control. See our
[Documentation](/docs/botorch_and_ax)
_For practitioners_ who are interested in running experiments
to optimize various objectives using Bayesian optimization,
we recommend using [Ax](https://ax.dev) rather than BoTorch.
[Ax](https://ax.dev) provides a user-friendly interface for
experiment configuration and orchestration, while choosing an
appropriate Bayesian optimization algorithm to optimize the
given objective, following BoTorch best practices.

_For researchers_ who are interested in running experiments with
their custom BoTorch models and acquisition functions,
[Ax](https://ax.dev)'s Modular BoTorch Interface offers a convenient
way to leverage custom BoTorch objects while utilizing
[Ax](https://ax.dev) experiment configuration and orchestration. Check out
[Modular BoTorch tutorial](https://ax.dev/docs/tutorials/modular_botorch/)
to learn how to use custom BoTorch objects in Ax!
See [this documentation](/docs/botorch_and_ax)
for additional information.

<h4>Full Optimization Loops</h4>
Expand Down
2 changes: 0 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
TEST_REQUIRES = ["pytest", "pytest-cov", "requests"]
FMT_REQUIRES = ["flake8", "ufmt", "flake8-docstrings"]
TUTORIALS_REQUIRES = [
"ax-platform",
"cma",
"jupyter",
"kaleido",
"matplotlib",
"memory_profiler",
"papermill",
Expand Down
Loading