alibaba / euler

A distributed graph deep learning framework.
Apache License 2.0
2.89k stars 559 forks source link

get_dense_feature() 的返回值为什么需要tf.concat(,-1),返回值不是[inputs,feature_dim]吗 #230

Open AI-Friend opened 4 years ago

AI-Friend commented 4 years ago

get_dense_feature() 的返回值为什么需要tf.concat(,-1),返回值不是[inputs,feature_dim]吗? 测试中GetDenseFeature 输入了4个参数, def testGetDenseFeature(self): """Test get dense feature for nodes""" op = ops.get_dense_feature(tf.constant([1, 2], dtype=tf.int64), [0, 1], [2, 3], 3) with tf.Session() as sess: dense_features = sess.run(op) self.assertAllClose([[2.4, 3.6], [2.4, 3.6]], dense_features[0]) self.assertAllClose([[4.5, 6.7, 8.9], [4.5, 6.7, 8.9]], dense_features[1]) 实际调用时只需要3个参数euler_ops.get_dense_feature( i nputs, self.feature_idx, self.feature_dim)?

alinamimi commented 4 years ago

feature_idx 是list,可以同时获取多个dense feature tf.concat(,-1)是把所有dense feature拼到一起。 euler_ops.get_dense_feature 第四个参数是线程数,默认是1

AI-Friend commented 4 years ago

哦哦,我以为返回的dense feature 就是[inputs,feature_dim]这样拼好的。 我刚刚使用line和deep walk训练时,loss没有明显的降低,但是mrr值一直在升高,稳定在0.85-0.9之间。batch_size是512,两个batch 的mrr值都是0.85,但是loss一个是1700,一个是2000,这是为什么啊,好像loss与mrr值不相关似的

siallen commented 4 years ago

哦哦,我以为返回的dense feature 就是[inputs,feature_dim]这样拼好的。 我刚刚使用line和deep walk训练时,loss没有明显的降低,但是mrr值一直在升高,稳定在0.85-0.9之间。batch_size是512,两个batch 的mrr值都是0.85,但是loss一个是1700,一个是2000,这是为什么啊,好像loss与mrr值不相关似的

有遇到类似的问题,loss到1800左右降不下来了,调整learning rate,切换sgd和adagrad好像都没啥用