alibaba / alibaba/euler

关于ScalableGCNEncoder的store和g_store是否可以改成hash的方式

Open
#262 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.