RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

  1. 训练图神经网络时遇到的问题:

    检查过自己的代码,模型和数据都分别放入了GPU中,将数据和模型打印出来也在GPU上、运行时GPU的显存确实有被占但依然报这个错误。

  2. 解决的办法

    最终解决的办法是conda此时的环境复制一份,在复制的环境上将torch和pyg降级。
    conda复制:conda create -n new-env --clone old-env
    我的pytorch版本1.13.0-cuda117,更换为了torch==1.10.1+cu113
    pyg也更换为了对应版本

  3. 命令

# torch
pip uninstall torch torchvision torchaudio
pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html
# pyg
pip uninstall torch-scatter torch-sparse torch-geometric torch-cluster torch-spline-conv
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.10.0+cu113.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.10.0+cu113.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-1.10.0+cu113.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-1.10.0+cu113.html

你可能感兴趣的:(pytorch,python,深度学习,神经网络,图论)