Comments (6)
Thanks! ive edited the issue for better formatting.
from ax.
Hi there, I believe by following the tutorial (https://botorch.org/tutorials/custom_botorch_model_in_ax) more closely you can achieve a successful get_next_trial
call. E.g., if you replace your third cell with:
class ExactGPModel(gpytorch.models.ExactGP, GPyTorchModel):
_num_outputs = 1
def __init__(self, train_X, train_Y,**kwargs):
super().__init__(train_X, train_Y.squeeze(-1), GaussianLikelihood(), **kwargs)
self.mean_module = gpytorch.means.ConstantMean()
self.covar_module = gpytorch.kernels.ScaleKernel(gpytorch.kernels.RBFKernel())
self.to(train_X)
def forward(self, x):
mean_x = self.mean_module(x)
covar_x = self.covar_module(x)
return gpytorch.distributions.MultivariateNormal(mean_x, covar_x)
gs = GenerationStrategy(
steps=[
GenerationStep(
model=Models.BOTORCH_MODULAR,
num_trials=-1, # No limitation on how many trials should be produced from this step
# For `BOTORCH_MODULAR`, we pass in kwargs to specify what surrogate or acquisition function to use.
model_kwargs={
"surrogate":Surrogate(ExactGPModel),
"botorch_acqf_class": qExpectedImprovement,
},
),
]
)
the rest of your notebook should execute as expected. HTH!
from ax.
Thanks a lot! this is working now :) Asking in the Botorch repo, apparently the .from_botorch method is very faulty and could be the reason it wasn't working. Thanks for your time!
from ax.
Thanks for reporting this - taking a look!
from ax.
@Jgmedina95 Thanks for the clarification! Though, I'm having a little trouble reproducing your issue. A brief issue with your code is that ExactGPModel.__init__
takes args train_X
and train_Y
but its contents refer to train_x
and train_y
(lower-case x
and y
), which may be causing the issue you're running into. If that doesn't fix, please repost your code with all imports and intermediate quantities (e.g., train_features
and train_final_label
) defined so that I can rerun with your precise settings. HTH!
from ax.
Thanks for looking into this. I missed that typo while writing the issue. I just reproduced the same errors. The code gets a little big quickly so I'm uploading a notebook and the dataset. The notebook is in JSON format, as github doesn't let me upload it in .ipynb format.
modified_features.csv
reproduction_error_botorch.ipynb.json
from ax.
Related Issues (20)
- "Hyperparameter Optimization via Raytune" link in website is broken. HOT 2
- Using `evaluate_acquisition_function` on `AxClient` causes subsequent optimziation errors HOT 2
- Question : modifications of compute_posterior_pareto_frontier HOT 2
- Tracking of auxiliary metrics HOT 2
- `qMaxValueEntropy` doesn't seem to work with `ObjectiveProperties(minimize=True)` HOT 4
- when should we end the Bandit Optimization HOT 4
- Nontrivial parameter constraints HOT 2
- Can't control arguments in fit_gpytorch_mll under the hood. Getting ABNORMAL_TERMINATION_IN_LNSRCH warning HOT 1
- Different Errors when initializing my loop with Service API and Developer API HOT 7
- `_random_seed` not retained when using `ax_client.save_to_json_file()` and `AxClient.load_from_json_file()` HOT 2
- Question: SEBO optimization with parameter dependency | logistic parameter constrains HOT 4
- Tutorial Request: Deploying Runners on Clusters, Debugging Runners/Schedulers HOT 4
- Issue with tolerance for floating point and its relevance when using log_scale = True HOT 7
- Question: does Ax support working with Tensorflow models? HOT 2
- Feature Request: Conditional Parameter Constraints HOT 5
- Questions about define how to evaluate HOT 3
- get_countour_plot() not plotting all trials HOT 4
- Error: A list of 'ChoiceParameter' is not iterable HOT 4
- [Bug] Generation Strategy equality check error without call to repr HOT 1
- ax.dev, GitHub readme, and loop tutorial examples are ignoring `minimize` kwarg HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ax.