关于ScalableGCNEncoder的store和g_store是否可以改成hash的方式
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 553
- PR merge metrics
- No merged PRs in 30d
Description
self.stores = [
tf.get_variable('store_layer_{}'.format(i),
[self.max_id + 2, self.dim],
initializer=tf.random_uniform_initializer(
maxval=self.store_init_maxval, seed=1),
trainable=False,
collections=[tf.GraphKeys.LOCAL_VARIABLES])
for i in range(1, self.num_layers)]
self.gradient_stores = [
tf.get_variable('gradient_store_layer_{}'.format(i),
[self.max_id + 2, self.dim],
initializer=tf.zeros_initializer(),
trainable=False,
collections=[tf.GraphKeys.LOCAL_VARIABLES])
for i in range(1, self.num_layers)]
这个地方内存很恐怖,感觉是不是改成hashVariable方式,懒加载,要不PS上来就满了,而且lookup会比较慢,求官方帮看看这么改是否可行
Contributor guide
No contributing guide indexed for this repository
Research direction
Start from the ScalableGCNEncoder code shown in the issue and inspect how stores and gradient_stores are created and accessed. Determine whether hash-based, lazy-loaded variables are supported in this path and measure their memory and lookup behavior. Done should include an agreed implementation approach and evidence that the PS memory problem is addressed without breaking lookups.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, tensorflow
- Domain
- machine-learning, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100