UniSRec
UniSRec copied to clipboard
有个关于recbole源码的问题
当我执行pretrain.py的pretrain_dataset = dataset.build()[0]这一行代码,报错new_data[k] = torch.LongTensor(value) TypeError: new(): data must be a sequence (got builtin_function_or_method)。于是我追踪调试,发现是rocbole源码的dataset.py这个文件中2213行出现错误,其中描述的是value = data[k].values,我想原作者应该是想让value是一个张量,但是我调试发现data[k]本身就是一个Tensor了,data[k].values得到的反而是一个方法,而不是一个Tensor,所以导致2136行:new_data[k] = torch.LongTensor(value),报错:new_data[k] = torch.LongTensor(value) TypeError: new(): data must be a sequence (got builtin_function_or_method)。 请问大家遇到过这个问题吗?我的做法是手动修改了value = data[k].values 改成value = data[k],这样目前是不报错了,但是不知道这样可不可以
你好,抱歉这么晚回复,请问问题解决了吗?感觉可能是 PyTorch 版本和 RecBole 版本有一些不一致。