Я обучил диффузионную модель (DDPM), используя линейный планировщик, определяемый следующим кодом: < /p>
scheduler = DDPMScheduler(
num_train_timesteps=1000,
beta_start=0.0001,
beta_end=0.02,
beta_schedule="linear"
)
< /code>
Однако после обучения этой модели и загрузки ее с использованием кода: < /p>
def load_checkpoint(model, optimizer, checkpoint_path):
"""Load the model and optimizer state dictionaries from a checkpoint."""
checkpoint = torch.load(checkpoint_path, map_location=device)
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
start_epoch = checkpoint['epoch'] + 1 # Resume from the next epoch.
print(f"Resuming from epoch {start_epoch}")
return start_epoch
< /code>
Когда я пытаюсь переключиться на косинус -планировщик для вывода, используя следующий код: < /p>
scheduler = DDPMScheduler(
num_train_timesteps=1000,
beta_schedule="cosine"
)
< /code>
Я получаю следующую ошибку: < /p>
NotImplementedError: cosine is not implemented for
< /code>
Я попытался изменить свой планировщик DDPM на планировщик DDIM, изменив код на: < /p>
scheduler = DDIMScheduler(
num_train_timesteps=1000,
beta_schedule="cosine"
)
< /code>
Но я все еще получаю очень похожую ошибку: < /p>
NotImplementedError: cosine is not implemented for
< /code>
Я не понимаю, что делаю неправильно, как я читал из нескольких источников, что нормально обучать диффузионную модель на одном планировщике (в моем случае, линейно), и и и Перейдите на другой планировщик для вывода (в моем случае, косинус). Как решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/794 ... m-on-a-lin
Как мне внедрить другой тип планировщика после обучения моего DDPM на линейном планировщике? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Использование планировщика скорости обучения для регулировки снижения веса
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-