#python #deep-learning #pytorch
#python #глубокое обучение #pytorch
Вопрос:
Я использую функцию AutomaticMixedPrecision в PyTorch для обучения сети с меньшей площадью и точностью.
В определенный момент некоторые вложения из сети имеют NAN в своих тензорах, поэтому я хотел бы заменить их на 0, чтобы выполнить онлайн-анализ жестких отрицательных выборок.
Однако после замены NAN в тензоре следующим образом:
tensor[torch.isnan(tensor)] = 0
Я получаю следующую ошибку при выполнении следующего шага масштабирования (scaler.step(optimizer):
assert len(optimizer_state["found_inf_per_device"]) > 0, "No inf checks were recorded for this optimizer."
AssertionError: No inf checks were recorded for this optimizer.
Каков правильный способ обнуления NAN при избавлении от этой ошибки?
Комментарии:
1. У меня такая же проблема, вы нашли какое-либо решение @Jjang?
Ответ №1:
не могли бы вы показать нам свой полный код. Как правило, рекомендуется просто пропустить шаг (пакет), если у него есть NaN.
Также взгляните на torch.nan_to_num .