about feature number
我在自己的数据集上训练您的模型 (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的结果感觉不太相关。
DeepCS在API较多的代码上表现较好。可能你的数据集中API调用不是很密集。
你试过pytorch版吗?现在的版本可能因为底层变化了,达不到最初的效果(正在考虑把原始的demo server重新搭建上)。pytorch版重新进行了调参,指标评估的精度已经达到0.9以上。
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条数据和全部差距太大,结果很糟糕。
从全部数据中选取top10比较符合真实情况,也就是(2)反映了真实效果。1000个选top10难度太低了。pytorch版目前是选取的10000个作为测试codebase. 如果把(2)调参到0.5以上应该能得到比较满意的结果。
从全部数据中选取top10比较符合真实情况,也就是(2)反映了真实效果。1000个选top10难度太低了。pytorch版目前是选取的10000个作为测试codebase. 如果把(2)调参到0.5以上应该能得到比较满意的结果。
我的测试集数据才16571个 我觉得设置10000的话 我的结果从0.3几到0.5的话 应该调不到 感谢回复,我去试试。
请问一下,我看您以前搜索时,返回的结果跟输入的查询不太相关。我也出现了这个问题,您解决这个问题了吗?
请问一下,我看您以前搜索时,返回的结果跟输入的查询不太相关。我也出现了这个问题,您解决这个问题了吗?
我现在在优化eval方法的准确率,还没对codebase再次进行search。根据作者描述,当acc在全部测试集的评估大于0.5的时候,查询结果会符合要求。
已解决该bug,之前调参的时候不小心把modules.py 里的 h_n = h_n.transpose(1, 0).contiguous()注释掉了。
把它加上或者用别的方法就没问题。