[DGL] remove_edges로 그래프 내 특정 edge 제거하기
dgl.DGLGraph.remove_edges — DGL 0.8.0 documentation © Copyright 2018, DGL Team. Revision 58346042. docs.dgl.ai DGL 라이브러리를 사용하여 만든 그래프에서 특정 엣지를 제거하고 싶을 때는 remove_edges를 사용하면 된다! heterogeneous graph에서의 예시는 dgl 문서에 쉬운 예제로 잘 설명되어있다. >>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([0, 1, 1, 2]), ... torch.tensor([0, 0, 1, 1])), ... ('developer', 'develops', 'game'): (torch.tens..
[DGL] ndata, edata, srcdata, dstdata란?
homogeneous graph(단순 노드, 엣지가 한가지 의미를 가지고 있는 그래프)에서 각 노드의 feature 정보를 표현하기 위해서는 ndata라는 속성을 이용하면 됩니다. 반대로 각 엣지의 feature 정보를 표현하기 위해서는 edata라는 속성이 있습니다. 예를 들어 인스타그램 팔로우 그래프를 만든다고 가정해봅시다. 아래 예시는 사용자는 총 6명이고, 각각의 팔로우 여부를 의미합니다. (*참고로 dgl에서 노드는 0번부터 연속적으로 생성이 됩니다. 중간에 비어있는 id도 노드가 생성이 됩니다.) >>> src_ids = torch.tensor([0, 2, 3, 2, 1]) >>> dst_ids = torch.tensor([2, 3, 1, 5, 4]) >>> g = dgl.graph((src_..