Skip to content

add how-to-guide for hyper param optim with optuna.#1742

Merged
janfb merged 4 commits intomainfrom
add-hyperparameter-optimization-guide
Feb 6, 2026
Merged

add how-to-guide for hyper param optim with optuna.#1742
janfb merged 4 commits intomainfrom
add-hyperparameter-optimization-guide

Conversation

@janfb
Copy link
Contributor

@janfb janfb commented Jan 23, 2026

Adding a minimal working example for using optuna for optimizing NN hyperparameters.

@swag2198 I added you as a reviewer here because I think that you have been working with optuna. Would be great to get your review on whether this guide is useful.

@janfb janfb requested a review from swag2198 January 23, 2026 09:01
@codecov
Copy link

codecov bot commented Jan 23, 2026

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
5816 1 5815 146
View the full list of 1 ❄️ flaky test(s)
tests/torchutils_test.py::TorchUtilsTest::test_searchsorted

Flake rate in main: 42.53% (Passed 50 times, Failed 37 times)

Stack Traces | 0.005s run time
.venv/lib/python3.10....../site-packages/xdist/remote.py:289: in pytest_runtest_logreport
    self.sendevent("testreport", data=data)
.venv/lib/python3.10....../site-packages/xdist/remote.py:126: in sendevent
    self.channel.send((name, kwargs))
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:912: in send
    self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1629: in dumps_internal
    return _Serializer().save(obj)  # type: ignore[return-value]
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1647: in save
    self._save(obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1667: in _save
    dispatch(self, obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1744: in save_tuple
    self._save(item)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1667: in _save
    dispatch(self, obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1740: in save_dict
    self._write_setitem(key, value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1734: in _write_setitem
    self._save(value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1667: in _save
    dispatch(self, obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1740: in save_dict
    self._write_setitem(key, value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1734: in _write_setitem
    self._save(value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1667: in _save
    dispatch(self, obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1740: in save_dict
    self._write_setitem(key, value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1734: in _write_setitem
    self._save(value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1667: in _save
    dispatch(self, obj)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1740: in save_dict
    self._write_setitem(key, value)
.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1734: in _write_setitem
    self._save(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <execnet.gateway_base._Serializer object at 0x7f6d38ccc040>
obj = tensor([0.0000, 0.1111, 0.2222, 0.3333, 0.4444, 0.5556, 0.6667, 0.7778, 0.8889])

    def _save(self, obj: object) -> None:
        tp = type(obj)
        try:
            dispatch = self._dispatch[tp]
        except KeyError:
            methodname = "save_" + tp.__name__
            meth: Callable[[_Serializer, object], None] | None = getattr(
                self.__class__, methodname, None
            )
            if meth is None:
>               raise DumpError(f"can't serialize {tp}") from None
E               execnet.gateway_base.DumpError: can't serialize <class 'torch.Tensor'>

.venv/lib/python3.10....................................................../site-packages/execnet/gateway_base.py:1665: DumpError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@janfb janfb force-pushed the add-hyperparameter-optimization-guide branch from 0567969 to aae2764 Compare January 28, 2026 13:41
@janfb
Copy link
Contributor Author

janfb commented Jan 31, 2026

Pushed improvements based on private feedback from @swag2198 🙏

@janfb janfb requested review from Copilot and removed request for Copilot and swag2198 January 31, 2026 11:02
@janfb janfb requested a review from dgedon January 31, 2026 11:03
Copy link
Collaborator

@dgedon dgedon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall structure is approved. I suggest some cosmetics.

@janfb
Copy link
Contributor Author

janfb commented Feb 6, 2026

Thanks for the review @dgedon , agree with all comments and addressed them.

@janfb janfb requested a review from dgedon February 6, 2026 14:58
@janfb janfb merged commit 1bd7fe5 into main Feb 6, 2026
6 of 7 checks passed
@janfb janfb deleted the add-hyperparameter-optimization-guide branch February 6, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants