Closed ystephenai closed 2 years ago
在message passing例子中的代码看到 GCNDataflow 这个文件中
new_n_id = tf.reshape(one_neighbor.values, [-1]) n_id = tf.concat([new_n_id, n_id], axis=0) <== 这里不太明白为什么要拼接n_id? nid, = tf.unique(n_id)
我想的是这里的逻辑是 new_n_id 是根据 n_id 采样出来的,但是在下一层采样的时候是不是可以直接用new_n_id作为源节点就好了,为啥要和n_id拼接之后再作为源节点呢?如果拼接的话,最后一层采样的邻居不就包含了从第二层的邻居到最后一层的所有邻居节点吗?
提前谢谢作者解答!
明白了 是我自己想错了
在message passing例子中的代码看到 GCNDataflow 这个文件中
new_n_id = tf.reshape(one_neighbor.values, [-1]) n_id = tf.concat([new_n_id, n_id], axis=0) <== 这里不太明白为什么要拼接n_id? nid, = tf.unique(n_id)
我想的是这里的逻辑是 new_n_id 是根据 n_id 采样出来的,但是在下一层采样的时候是不是可以直接用new_n_id作为源节点就好了,为啥要和n_id拼接之后再作为源节点呢?如果拼接的话,最后一层采样的邻居不就包含了从第二层的邻居到最后一层的所有邻居节点吗?
提前谢谢作者解答!