RuihongQiu / DuoRec

Code for WSDM 2022 paper, Contrastive Learning for Representation Degeneration Problem in Sequential Recommendation.
MIT License
97 stars 21 forks source link

issues about CL4SRec #1

Closed Furyton closed 3 years ago

Furyton commented 3 years ago

您好,我尝试运行CL4SRec模型,想要使用pop100来评估模型,按照RecBole中的文档在seq.yaml修改eval_setting

eval_setting: TO_LS, pop100

但得到了一处错误

Traceback (most recent call last):
  File "/code/DuoRec/run_seq.py", line 15, in <module>
    run_recbole(model=args.model, dataset=args.dataset, config_file_list=config_file_list)
  File "/code/DuoRec/recbole/quick_start/quick_start.py", line 48, in run_recbole
    train_data, valid_data, test_data = data_preparation(config, dataset)
  File "/code/DuoRec/recbole/data/utils.py", line 170, in data_preparation
    valid_data = dataloader(**valid_kwargs)
TypeError: __init__() got an unexpected keyword argument 'phase'

我看到~data/dataloader/sequential_dataloader.py/SequentialNegSampleDataLoader 并没有phase 作为参数,官方repo关于dataloader的地方差别较大,可能您的部分代码使用的版本较早,出现了兼容性问题?

应该只是一个小小的问题。

Furyton commented 3 years ago

另,我使用google drive 上的ml-1m数据集运行 CL4SRec,没有修改seq.yaml,发现指标没有上升(没有在学习)。请问是什么原因?

RuihongQiu commented 3 years ago

phase是recbole的新参数,就没有跟进了。 如果是其他数据集有提升的话,应该是参数问题,ml-1m比其他数据集要密集(dense)很多,所以可能需要调调参数。

Furyton commented 3 years ago

好的,感谢回复