Поэтому я отладил вывод, чтобы выяснить, почему эта новая модель ведет себя совсем по-другому при выводе с контрольной точкой. Несколько замечаний, прежде чем идти дальше:
- основное различие между моделями — это входные данные (остальные, то есть гиперпараметры, эквивалентны или очень близки)
модель имеет ту же структуру, что и предыдущие, которые работают хорошо (те же слои, тот же оптимизатор (например, AdamW), небольшие различия в скорости затухания весов, например) или функция вознаграждения/потери была изменена -> теоретически это не должно влиять на вывод) - Я использую молнию pytorch (2.0) и факел (2.3)
- поведение одинаково во время выполнения Cuda, Cpu или Mps (оба используются для обучения и вывода)
- Я использую набор проверочных данных, на котором рассчитываю производительность после каждой эпохи обучения . Я получаю хорошие результаты, независимо от модели или входных данных, в наборе данных проверки
- проверка выполняется на временных данных, и модель дает выходную пропорцию с определенное количество прошлых данных
- Первый вывод (т.е. первая строка ниже на изображении) равен тому, что я получил в первом результате проверки на этапе обучения (в ту же эпоху для вывода и проверки).
- В целом, вывод хороший, но один элемент заставляет вывод колебаться и чередоваться с набором проверочных данных.
- Я не могу понять, откуда берутся эти колебания
- Я проверил файлы ckpts и веса, и все они выглядят нормально.
- Одно отличие заключается в том, что во время обучения метрики проверки рассчитываются на полном наборе проверочных данных, в отличие от вывода, при котором рассчитываются метрики. один за другим по одной и той же временной серии (вывод одинаков для обоих, но val выполняется за один проход в сети, а вывод является циклическим -> передача один за другим)
- Что меня больше всего беспокоит, так это то, что на этапе проверки (во время обучения) все ОК, но НЕ ОК после загрузки контрольной точки и выполнения вывода вручную. И до сих пор это работает для всех моих предыдущих моделей.

Я ожидаю того же (т.е. почти одного и того же цвета) слева и справа, но что-то создает шум при прогнозировании вывода. Как вы можете видеть, первая строка подходит для вывода, но колебания начинаются сразу после этого.
Например, другой прогон val vs inference (очень небольшие отклонения, но терпимые, но колебаний здесь нет)< /p>

Что могло бы объяснить эти колебания в одной и той же сетевой архитектуре?
ps: Невозможно поделиться прямым кодом из-за лицензии
Подробнее здесь: https://stackoverflow.com/questions/788 ... with-check