Pytorchs ‘ nn.Linear возвращает только значения `nan` при определенных условиях

#python #machine-learning #pytorch

#python #машинное обучение #pytorch

Вопрос:

У меня есть pytorch тензор с моими нормализованными данными, которые в какой-то момент проходят через этот слой в моей модели,

linear = nn.Linear(in_features=137, out_features=1)

Данные можно увидеть здесь,

введите описание изображения здесь

введите описание изображения здесь

Проблема в том, что в результате я получаю только nan s

введите описание изображения здесь

и параметры linear , по-видимому, также являются nan ,

введите описание изображения здесь

Чтобы, надеюсь, лучше понять, в чем была проблема, я сохранил данные в тот самый момент в файл csv и загрузил их в интерпретатор,

введите описание изображения здесь

выполнение точной операции дает ожидаемый результат,

 >>> linear(x)
tensor([[ 0.0594],
        [ 0.1051],
        [ 0.1000],
        ...,
        [ 0.1043],
        [-0.1210],
        [-0.0332]], grad_fn=<AddmmBackward>)
  

С чем может быть связано это странное поведение и как я могу это исправить?

Комментарии:

1. можете ли вы проверить величину градиента?

2. @Shai как ты это делаешь? Я также пытаюсь отследить начало проблемы и обнаружил, что параметры для linear также nan заданы еще до того, как они были применены к примеру выше.