D:\code\myworld\lib\site-packages\dgl\heterograph.py:92: DGLWarning: Recommend creating graphs by `dgl.graph(data)` instead of `dgl.DGLGraph(data)`. dgl_warning( Traceback (most recent call last): File "E:/403/myworld/GraphShow.py", line 35, in <module> g.add_edge(src, dst) AttributeError: 'DGLGraph' object has no attribute 'add_edge'
时间: 2024-02-03 07:12:23 浏览: 293
这个错误提示显示你使用了 `add_edge` 方法,但是 `DGLGraph` 对象并没有这个方法。可能是因为你的 DGL 版本更新了,在新版本中这个方法被移除了。建议使用 `add_edges` 方法来添加边。比如:
```
g.add_edges(src, dst)
```
另外,如果你要创建一个新的图,也可以使用 `dgl.graph` 函数来创建,它比 `DGLGraph(data)` 更为推荐。比如:
```
g = dgl.graph((src, dst))
```
相关问题
Traceback (most recent call last): File "E:/403/myworld/VGAE/trainTest.py", line 115, in <module> train(model, optimizer, dataBase, device) File "E:/403/myworld/VGAE/trainTest.py", line 52, in train for index,adj,features,labels in train_loader: File "E:/403/myworld/VGAE/trainTest.py", line 95, in __next__ adj_matrix = graph.adjacency_matrix().to_dense() File "D:\code\myworld\lib\site-packages\dgl\heterograph.py", line 3759, in adjacency_matrix return self.adj(etype) File "D:\code\myworld\lib\site-packages\dgl\heterograph.py", line 3821, in adj from .sparse import spmatrix File "D:\code\myworld\lib\site-packages\dgl\sparse\__init__.py", line 43, in <module> load_dgl_sparse() File "D:\code\myworld\lib\site-packages\dgl\sparse\__init__.py", line 35, in load_dgl_sparse raise FileNotFoundError(f"Cannot find DGL C++ sparse library at {path}") FileNotFoundError: Cannot find DGL C++ sparse library at D:\code\myworld\lib\site-packages\dgl\dgl_sparse\dgl_sparse_pytorch_2.0.1.dll
这个错误通常是由于 DGL C++ sparse 库没有正确安装或者版本不匹配导致的。建议您检查以下几个方面:
1. 检查您的环境是否已经安装了 DGL C++ sparse 库,并且版本是否匹配。
2. 如果您是通过 pip 安装的 DGL,请考虑重新安装该库,可能会解决问题。
3. 如果您是从源代码编译安装 DGL,请确保您已经正确编译了 C++ sparse 库,并且将其正确链接到 Python 库中。
如果您仍然无法解决问题,请提供更多详细信息,例如您的操作系统、Python 版本、DGL 版本等,以便我们更好地帮助您解决问题。
Traceback (most recent call last): File "E:/403/myworld/GraphNet.py", line 14, in <module> g.ndata['feat'] = feat File "D:\code\myworld\lib\site-packages\dgl\view.py", line 99, in __setitem__ self._graph._set_n_repr(self._ntid, self._nodes, {key: val}) File "D:\code\myworld\lib\site-packages\dgl\heterograph.py", line 4346, in _set_n_repr if F.context(val) != self.device: File "D:\code\myworld\lib\site-packages\dgl\backend\pytorch\tensor.py", line 99, in context return input.device AttributeError: 'numpy.ndarray' object has no attribute 'device' 进程已结束,退出代码1
这个错误发生在使用 DGL 库设置节点属性时,因为传入的特征值是 Numpy 数组,而不是 PyTorch 张量。可以将 Numpy 数组转换为 PyTorch 张量,例如:
```python
import torch
import numpy as np
feat = np.ones((10, 16))
feat_tensor = torch.from_numpy(feat)
g.ndata['feat'] = feat_tensor
```
这里我们将 Numpy 数组 `feat` 转换为 PyTorch 张量 `feat_tensor`,然后将其设置为节点特征。
阅读全文