python dgl 修改本地存储的bin数据图属性,给原有的属性"node"增加新的数据
时间: 2024-02-21 16:57:03 浏览: 120
Python库 | dgl_cu102-0.6a210402-cp38-cp38-manylinux1_x86_64.whl
要给本地存储的二进制图数据的节点属性增加新的数据,同样需要使用DGL的GraphDataLoader类加载数据,并使用DGL的graph对象进行修改。具体步骤如下:
1. 使用GraphDataLoader类加载本地存储的二进制图数据。
```
import dgl
from dgl.data.utils import load_graphs
# 从本地文件中加载图数据
graph, _ = load_graphs("path/to/binary/file.bin")
```
2. 获取原有节点属性数据
```
old_node_feat = graph.ndata['node']
```
3. 定义新的节点属性数据
```
# 获取节点数
num_nodes = graph.number_of_nodes()
# 定义新的节点属性
new_node_feat = torch.zeros(num_nodes, 1)
```
4. 将新的数据添加到原有节点属性数据中
```
# 将两个节点属性数据合并
combined_node_feat = torch.cat((old_node_feat, new_node_feat), dim=1)
graph.ndata['node'] = combined_node_feat
```
5. 将修改后的图数据重新保存到二进制文件中
```
dgl.data.utils.save_graphs("path/to/binary/file.bin", graph)
```
这样就可以给原有的节点属性增加新的数据。
阅读全文