xiangwang1223 / neural_graph_collaborative_filtering

Neural Graph Collaborative Filtering, SIGIR2019
MIT License
781 stars 261 forks source link

what's the purpose of '_split_A_hat' function? #20

Closed pursueorigin closed 4 years ago

pursueorigin commented 4 years ago

I found you use '_split_A_hat' function to split the adjacency matrix into small blocks. But I am confused about it. As for the memory overhead, this method still computes the representation of all nodes. Thus, it does not reduce the memory overhead. As for the computation overhead, it also computes the representation of all nodes, even though one by one block. As a result, it also does not reduce the computation overhead. So, what's the purpose of this function? Could you please give more explanation about this function? Thanks.

Yindong-Zhang commented 4 years ago

same question. hope for the answer.

xiangwang1223 commented 4 years ago

Hi, thanks for your interests! Sorry for the late reply after a busy week.

  1. Such a function was designed to reduce memory usage in my first try. I keep it in the first version to show (or more precisely, record) what attempts we have tried, while it seems to be not that useful.
  2. I think that you can simply set the n_fold to '1' or just ignore such function.

Thanks.

Yindong-Zhang commented 4 years ago

thanks for the answer. good job!

pursueorigin commented 4 years ago

Thanks.