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

predict_HS-B.py 中的处理流程,和"J_*"形式的方法 的大致情况 #9

Open
yueml opened this issue Apr 20, 2021 · 1 comment

Comments

@yueml
Copy link

yueml commented Apr 20, 2021

您好,再次感谢您贡献的代码,同时非常抱歉不得不又来打搅您。

我debug许久,但对predict_HS-B.py 中的处理流程仍然有些许( 其实是好多,(╥╯^╰╥) )疑惑。我选取下述问题,向您请教。

  1. JavaOut.gs、 JavaOut.step_list 代表的含义是什么?
  2. JavaOut 和 JavaOutNext分别代表什么?

另外,我发现predict_HS-B.py 建立ast的过程,和模型的复杂度相比,有过之而无不及,您能大概解释下其中的流程么,不胜感激!

@zysszy
Copy link
Owner

zysszy commented Apr 20, 2021

您好,
感谢关注~
抱歉给您带来不便。

JavaOut.gs 代表Beam Search的步数。
JavaOut.step_list 我也不知道是什么了,感觉后面没有用上过。
JavaOut 代表的是现在所生成的代码及其状态。
JavaOutNext 代表的是基于 JavaOut 做一步Beam Search 之后所得的代码及其状态。

对于复杂度来说,是这样的,之前写了一个Java的框架,最初我在上面做了很多incremental的修改,然后迁移到了python。因为修改太多太复杂了,我怕出bug就没做优化(其实有巨多可以优化的地方),因而才有了现在这个复杂度。

主要的流程就是 建立一颗AST树(根据现有的 rule sequence 建立),然后 保留 Tree Path 信息, Traverse 信息, 图信息等信息就可以。

我不知道我回答清楚没,如果我没回答清楚,随时欢迎继续问我~

Zeyu

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

2 participants