Middle
48
Modifica il generatore in modo che sia possibile cambiare il valore di batch_size al volo tramite il metodo send()
Le aziende dove è stato chiesto
Risposta dell'AI
sobes.tech AI
Чтобы изменить значение batch_size на лету через метод send() в генераторе, можно реализовать генератор с поддержкой передачи значения извне. Пример:
def batch_generator(initial_batch_size):
batch_size = initial_batch_size
while True:
new_batch_size = (yield batch_size) # возвращаем текущий batch_size и ждем нового значения
if new_batch_size is not None:
batch_size = new_batch_size
# Использование:
gen = batch_generator(5)
print(next(gen)) # Выведет 5
print(gen.send(10)) # Изменит batch_size на 10 и выведет 10
print(gen.send(None)) # Оставит batch_size 10 и выведет 10
Таким образом, через send() можно передавать новое значение batch_size, которое будет использоваться в следующем цикле генератора.