herutriana44's picture
First Commit
b7d9967 verified
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2022, 2023.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.
"""Set default batch sizes for the optimizers."""
from qiskit_algorithms.optimizers import Optimizer, SPSA
def _set_default_batchsize(optimizer: Optimizer) -> bool:
"""Set the default batchsize, if None is set and return whether it was updated or not."""
if isinstance(optimizer, SPSA):
updated = optimizer._max_evals_grouped is None
if updated:
optimizer.set_max_evals_grouped(50)
else: # we only set a batchsize for SPSA
updated = False
return updated