完整的报错:
看了下这个报错大概和显存有关系,可能batchsize有关系,或者是版本问题。(机器学习模型报错一般都和版本配置时一些版本有问题导致没有函数有关。
【尝试解决1】:将batchsize调小,(在recbole中batchsize默认是4096,这里我调成了512,1024和2048都试了一下。有些时候可以解决
【尝试解决2】:torch/cuda版本出现问题,可以使用命令:
pip freeze
去查看所有下载的包,有可能是一些requirement中包含一些torch和cuda的版本,把本来我们自己配置好的合适的版本给覆盖掉了。
比如我本来配置的是torch2.2.0+cuda118(这个比较稳定)
这里freeze看了发现变成:
可以新建一个虚拟环境重新配置torch和cuda。
torch: Start Locally | PyTorch
有时更换版本和一些batchsize可以解决这个问题。
【尝试解决3】:在我的模型doc中提到了MAX_ITEM_LIST_LENGTH在这个模型中是非常小的,例如10。然而在recbole模型的默认中,这个值是50,所以太大了也会出现这个问题。即在配置的yaml文件中设置:
MAX_ITEM_LIST_LENGTH: 10