引言
Batch size作為一個在訓練中經常被使用的引數,在圖神經網路的訓練中也是必不可少,但是在TF-GNN中要求使用 merge_batch_to_components() 把batch之后的圖合并成一張圖,表現如下圖:

通過上圖可以看出,在merge之后的圖中的點序號被重新按照順序編號,同時邊的序號也和點序號一樣重新編號,且可以發現子圖與子圖之間并沒有新增邊的連接,需要注意的是對于圖的size,merge只是連接了每個子圖的size而不是以加法的形式增加size,
問題
由于需要在edge pooling中使用attention機制,并且嘗試自己實作attention機制,需要獲取到圖的節點數量,然而發現在圖資料經過merge_batch_to_components() 之后,無法通過正常的方式獲取到圖的節點數量,通過閱讀TF-GNN的源代碼發現,TF-GNN提供了另外一種方式獲取圖的節點數量,
adjacency = graph.edge_sets[edge_set_name].adjacency node_set =graph.node_sets[adjacency.node_set_name(self.tag)] total_node_count = node_set.spec.total_size if total_node_count is None: total_node_count = node_set.total_size
本文來自博客園,作者:LoveFishO,轉載請注明原文鏈接:https://www.cnblogs.com/lovefisho/p/16561129.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/501260.html
標籤:其他
