PyTorch Geometric SAGEConv — Ожидаемый скалярный тип Long, но найден Float?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 PyTorch Geometric SAGEConv — Ожидаемый скалярный тип Long, но найден Float?

Сообщение Anonymous »

Я пытаюсь реализовать графовые нейронные сети из библиотеки типов моделей torch_geometric. Я получаю сообщение об ошибке: «RuntimeError: ожидался скалярный тип Long, но найден Float» в этой строке модуля SAGEConv:

Код: Выделить всё

"(My Path)\Python310\lib\site-packages\torch_geometric\nn\dense\linear.py", line 147, in forward
F.linear(x, self.weight, self.bias)
RuntimeError: expected scalar type Long but found Float
Я понимаю, что есть похожие вопросы о переполнении стека, но я не думаю, что существует четкое руководство относительно того, как эффективно устранять неполадки в torch_geometric. Я попытался свести свою проблему к максимально простому коду:
Сначала я импортирую SAGEConv:

Код: Выделить всё

from torch_geometric.nn import SAGEConv
sconv = SAGEConv((-1, -1), 64)
Затем я создаю очень простые тензоры узлов и ребер для графа:

Код: Выделить всё

x = torch.tensor([[1,0],[2,4],[5,7]]) # Three Node Graph; Two "features" per node
ei = torch.tensor([[1, 1],[0,2]]) # Edge Index Matrix - Node 1 to Node 0 and Node 1 to Node 2
Наконец, я вызываю свой слой SAGEConv

Код: Выделить всё

sconv(x, ei)
>>> (...) RuntimeError: expected scalar type Long but found Float
Я не могу уяснить это, потому что переменные «x» и «ei» относятся к типу LongTensor:

Код: Выделить всё

x.type()
>>> 'torch.LongTensor'
ei.type()
>>> 'torch.LongTensor'
Это свело меня с ума. Буду чрезвычайно признателен за любую помощь в поиске того, что я сделал не так. В случае проблем с версией, вот моя заморозка пакетов для пакетов:

Код: Выделить всё

torch==2.0.1
torch_geometric==2.5.0
Изменить 1:
Я обновил torch и torch_geometric до самых последних версий, но ошибка все еще существует. Хотя теперь сообщение гласит: «Ожидается, что m1 и m2 будут иметь один и тот же тип dtype, но получено: __int64 != float»

Подробнее здесь: https://stackoverflow.com/questions/782 ... ound-float
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»