Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

about feature number #47

Open
primary-studyer opened this issue May 14, 2020 · 7 comments
Open

about feature number #47

primary-studyer opened this issue May 14, 2020 · 7 comments

Comments

@primary-studyer
Copy link

我在自己的数据集上训练您的模型
(1)当tokens,apiseq,methname——>desc时,eval函数评估结果目前最好acc=0.672 mrr=0.413 map=0.413 ndcg=0.475
(2)当只考虑tokens——>desc时,eval函数评估结果目前最好acc=0.63 mrr=0.4099 map=0.4099 ndcg=0.462
添加methname和apiseq的特征,对eval评估提升不是很明显。不太理解why。

我之前在您的完整数据集上训练过一次模型,跑了2000epoch,但是search的结果感觉不太相关。

@guxd
Copy link
Owner

guxd commented May 14, 2020

DeepCS在API较多的代码上表现较好。可能你的数据集中API调用不是很密集。

你试过pytorch版吗?现在的版本可能因为底层变化了,达不到最初的效果(正在考虑把原始的demo server重新搭建上)。pytorch版重新进行了调参,指标评估的精度已经达到0.9以上。

@primary-studyer
Copy link
Author

DeepCS在API较多的代码上表现较好。可能你的数据集中API调用不是很密集。

你试过pytorch版吗?现在的版本可能因为底层变化了,达不到最初的效果(正在考虑把原始的demo server重新搭建上)。pytorch版重新进行了调参,指标评估的精度已经达到0.9以上。

pytorch版本的我还没有试过,最近我下载github上最新版本去试一下。
我的数据是codesearchnet上的Java代码通过你的code2api方法提取出来最后剩的数据是30w条,您的1000多万我这处理起来太费劲,因为您公开的数据集是处理好的,不太适合我接下来的工作。在我的数据集上应该达不到0.9以上,数据量比较小。
有这么一个问题,您可以解释一下我可能的问题么。
(1)eval(model,1000,10)当tokens,apiseq,methname——>desc时,eval函数评估结果目前最好acc=0.672 mrr=0.413 map=0.413 ndcg=0.475
(2)eval(model,-1,10)当tokens,apiseq,methname——>desc时,eval函数评估结果目前最好acc=0.3477 mrr=0.179 map=0.179 ndcg=0.2177
考虑前1000条数据和全部差距太大,结果很糟糕。

@guxd
Copy link
Owner

guxd commented May 14, 2020

从全部数据中选取top10比较符合真实情况,也就是(2)反映了真实效果。1000个选top10难度太低了。pytorch版目前是选取的10000个作为测试codebase.
如果把(2)调参到0.5以上应该能得到比较满意的结果。

@primary-studyer
Copy link
Author

从全部数据中选取top10比较符合真实情况,也就是(2)反映了真实效果。1000个选top10难度太低了。pytorch版目前是选取的10000个作为测试codebase.
如果把(2)调参到0.5以上应该能得到比较满意的结果。

我的测试集数据才16571个 我觉得设置10000的话 我的结果从0.3几到0.5的话 应该调不到
感谢回复,我去试试。

@xdliu1998
Copy link

请问一下,我看您以前搜索时,返回的结果跟输入的查询不太相关。我也出现了这个问题,您解决这个问题了吗?

@primary-studyer
Copy link
Author

请问一下,我看您以前搜索时,返回的结果跟输入的查询不太相关。我也出现了这个问题,您解决这个问题了吗?

我现在在优化eval方法的准确率,还没对codebase再次进行search。根据作者描述,当acc在全部测试集的评估大于0.5的时候,查询结果会符合要求。

@guxd
Copy link
Owner

guxd commented Jun 16, 2021

已解决该bug,之前调参的时候不小心把modules.py 里的 h_n = h_n.transpose(1, 0).contiguous()注释掉了。
把它加上或者用别的方法就没问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants