From e9bfb0731a6a8dca0fdae24e29a1a9a9f40ce7c6 Mon Sep 17 00:00:00 2001 From: chinganc Date: Tue, 19 Aug 2025 23:54:37 +0000 Subject: [PATCH 1/2] Fix missing oprov2 problem --- opto/optimizers/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opto/optimizers/__init__.py b/opto/optimizers/__init__.py index 9b0b2007..482b1b2d 100644 --- a/opto/optimizers/__init__.py +++ b/opto/optimizers/__init__.py @@ -1,9 +1,10 @@ from opto.optimizers.optoprime import OptoPrime as OptoPrimeV1 from opto.optimizers.optoprimemulti import OptoPrimeMulti from opto.optimizers.opro import OPRO +from opto.optimizers.opro_v2 import OPROv2 from opto.optimizers.textgrad import TextGrad from opto.optimizers.optoprime_v2 import OptoPrimeV2 OptoPrime = OptoPrimeV1 -__all__ = ["OPRO", "OptoPrime", "OptoPrimeMulti", "TextGrad", "OptoPrimeV2", "OptoPrimeV1"] \ No newline at end of file +__all__ = ["OPRO", "OptoPrime", "OptoPrimeMulti", "TextGrad", "OptoPrimeV2", "OptoPrimeV1", "OPROv2"] \ No newline at end of file From e258e879f072c3bcf0cf626334270c66a2708bf1 Mon Sep 17 00:00:00 2001 From: chinganc Date: Wed, 20 Aug 2025 00:27:39 +0000 Subject: [PATCH 2/2] Add an assertion to make optimizer receives non-empty parameters. --- opto/optimizers/optimizer.py | 1 + 1 file changed, 1 insertion(+) diff --git a/opto/optimizers/optimizer.py b/opto/optimizers/optimizer.py index 04f8ea5e..2b175d5f 100644 --- a/opto/optimizers/optimizer.py +++ b/opto/optimizers/optimizer.py @@ -12,6 +12,7 @@ class AbstractOptimizer: def __init__(self, parameters: List[ParameterNode], *args, **kwargs): assert type(parameters) is list assert all([isinstance(p, ParameterNode) for p in parameters]) + assert len(parameters) > 0, 'Parameters list is empty.' self.parameters = parameters def step(self):