Closed catmint999 closed 4 months ago
同样遇到了这个错误
您好,
您在运行RecBole时遇到的错误似乎与batch_user_num
的计算有关,具体是batch_user_num = positive_u[-1] + 1
这一行。错误消息表明'NoneType'对象不可订阅。
以下是一些诊断和可能解决问题的步骤:
检查数据加载:
ml-100k
)正确加载并包含有效的用户-项目互动。test_ml.yaml
配置文件中指定的数据路径指向正确的位置。检查positive_u
:
positive_u
的索引时,positive_u
似乎是一个列表或数组。positive_u
是否正确初始化并包含有效数据。它应该是正用户索引的列表。调试计算:
positive_u
的上下文以及它如何用于计算batch_user_num
。positive_u
不是None
且具有有效值。查看run_recbole.py
脚本:
python run_recbole.py --model=WideDeep --dateset=ml-100k --config_files=test_ml.yaml
。如果您继续面临问题,考虑提供更多上下文或分享额外的代码片段以便进一步调查。此外,检查RecBole文档或社区资源,了解与此错误相关的任何特定故障排除步骤,以下的文档链接可以进行参考。
问题如题,我讲述一下我的运营流程:
在终端中运行:python run_recbole.py --model=WideDeep --dateset = ml-100k --config_files=test_ml.yaml
batch_user_num = positive_u[-1] + 1 TypeError: 'NoneType' object is not subscriptable
其中test_ml.yaml文件的内容如下:
新手入门:https://blog.csdn.net/Turinger_2000/article/details/111493291
evalution settings
eval_setting: TO_LS,full #对数据按时间排序,设置留一法划分数据集,并使用全排序 metrics: ["Recall", "MRR","NDCG","Hit","Precision"] #评测标准 valid_metric: MRR@10 #选取哪个评测标准作为作为提前停止训练的标准 eval_batch_size: 4096 #评测的batch_size
我猜测是否是因为ContextRecommender基础类与Recall, MRR,NDCG,Hit,Precision这几个评价指标不兼容。我运行din、dien上没有遇到这个问题