Merge branch 'main' into test-orthants-mvn-gibbs-sampling

This commit is contained in:
Naoto Mizuno
2023-12-18 16:12:52 +09:00
committed by GitHub
82 changed files with 3585 additions and 1784 deletions
+17 -1
View File
@@ -3,12 +3,12 @@ from unittest.mock import patch
import numpy as np
import pytest
import torch
if sys.version_info >= (3, 8):
from optuna_dashboard.preferential.samplers.gp import _one_side_trunc_norm_sampling
from optuna_dashboard.preferential.samplers.gp import _orthants_MVN_Gibbs_sampling
import torch
else:
pytest.skip("BoTorch dropped Python3.7 support", allow_module_level=True)
@@ -36,3 +36,19 @@ def test_one_side_trunc_norm_sampling() -> None:
assert np.allclose(
_one_side_trunc_norm_sampling(torch.Tensor([5])).numpy(), 5.426934003050024
)
def test_one_side_trunc_norm_sampling() -> None:
for lower in np.linspace(-10, 10, 100):
assert _one_side_trunc_norm_sampling(torch.tensor([lower], dtype=torch.float64)) >= lower
with patch.object(torch, "rand", return_value=torch.tensor([0.4], dtype=torch.float64)):
sampled_value = _one_side_trunc_norm_sampling(torch.tensor([0.1], dtype=torch.float64))
assert np.allclose(sampled_value.numpy(), 0.899967154837563)
with patch.object(torch, "rand", return_value=torch.tensor([0.8], dtype=torch.float64)):
sampled_value = _one_side_trunc_norm_sampling(torch.tensor([-2.3], dtype=torch.float64))
assert np.allclose(sampled_value.numpy(), -0.8113606739551955)
with patch.object(torch, "rand", return_value=torch.tensor([0.1], dtype=torch.float64)):
sampled_value = _one_side_trunc_norm_sampling(torch.tensor([5], dtype=torch.float64))
assert np.allclose(sampled_value.numpy(), 5.426934003050024)
+5
View File
@@ -3,6 +3,7 @@ from __future__ import annotations
import copy
import multiprocessing
import pickle
import sys
from typing import Callable
from unittest.mock import patch
import uuid
@@ -22,6 +23,10 @@ from ..storage_supplier import parametrize_storages
from ..storage_supplier import StorageSupplier
if sys.version_info < (3, 8):
pytest.skip("BoTorch dropped Python3.7 support", allow_module_level=True)
@parametrize_storages
def test_study_set_and_get_user_attrs(storage_supplier: Callable[[], StorageSupplier]) -> None:
with storage_supplier() as storage: