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

eval报错 #186

Open
PhilrainV opened this issue Apr 29, 2024 · 3 comments
Open

eval报错 #186

PhilrainV opened this issue Apr 29, 2024 · 3 comments

Comments

@PhilrainV
Copy link

在使用wandb_eval.py进行lpkt模型的eval时出现报错:
Traceback (most recent call last):
File "wandb_eval.py", line 83, in
main(params)
File "wandb_eval.py", line 57, in main
atkt_pad)
File "D:\CODE_env\Anaconda\anaconda3\envs\py375\lib\site-packages\pykt\models\evaluate_model.py", line 628, in evaluate_splitpred_question
curqin, curcin, currin, curdforget, ctrues, cpreds = predict_each_group(dtotal, dcur, dforget, curdforget, is_repeat, qidx, uid, idx, model_name, model, t, end, fout, atkt_pad)
File "D:\CODE_env\Anaconda\anaconda3\envs\py375\lib\site-packages\pykt\models\evaluate_model.py", line 677, in predict_each_group
curitin = dcur["curitin"]
KeyError: 'curitin'

通过debug发现当前学生信息dcur在"curitin"列会在循环中被drop掉导致predict_each_group()无法运行

如果注释掉:
curqin, curcin, currin, curdforget, ctrues, cpreds = predict_each_group(dtotal, dcur, dforget, curdforget, is_repeat, qidx, uid, idx, model_name, model, t, end, fout, atkt_pad)
#dcur = {"curqin": curqin, "curcin": curcin, "currin": currin, "curtin": curtin}
则可正常跑通。

@PhilrainV
Copy link
Author

另外,from pykt.models import evaluate_splitpred_question, load_model, lpkt_evaluate_multi_ahead 中没有lpkt_evaluate_multi_ahead ,其具体函数包含在下载的完整文件下pykt-toolkit-main/pykt/models /lpkt_utils.py中

@sonyawong
Copy link
Collaborator

在使用wandb_eval.py进行lpkt模型的eval时出现报错: Traceback (most recent call last): File "wandb_eval.py", line 83, in main(params) File "wandb_eval.py", line 57, in main atkt_pad) File "D:\CODE_env\Anaconda\anaconda3\envs\py375\lib\site-packages\pykt\models\evaluate_model.py", line 628, in evaluate_splitpred_question curqin, curcin, currin, curdforget, ctrues, cpreds = predict_each_group(dtotal, dcur, dforget, curdforget, is_repeat, qidx, uid, idx, model_name, model, t, end, fout, atkt_pad) File "D:\CODE_env\Anaconda\anaconda3\envs\py375\lib\site-packages\pykt\models\evaluate_model.py", line 677, in predict_each_group curitin = dcur["curitin"] KeyError: 'curitin'

通过debug发现当前学生信息dcur在"curitin"列会在循环中被drop掉导致predict_each_group()无法运行

如果注释掉: curqin, curcin, currin, curdforget, ctrues, cpreds = predict_each_group(dtotal, dcur, dforget, curdforget, is_repeat, qidx, uid, idx, model_name, model, t, end, fout, atkt_pad) #dcur = {"curqin": curqin, "curcin": curcin, "currin": currin, "curtin": curtin} 则可正常跑通。

您的代码有改动吗, “pykt\models\evaluate_model.py", line 677 , in predict_each_group curitin = dcur["curitin"] KeyError: 'curitin' 跟原文件“evaluate_model.py”所在的行号不对, 我这边本地执行是能跑通的. 另外, lpkt_evaluate_multi_ahead放在了model/init.py进行了初始化, 所以from pykt.models import evaluate_splitpred_question, load_model, lpkt_evaluate_multi_ahead是能执行通的

@PhilrainV
Copy link
Author

我的代码没有改动,就是直接在下载然后运行的

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