【recbole】RuntimeError: Unrecognized CatchingAllocator option: expandable_segments

本文讲述了在处理机器学习模型报错时,重点关注显存、batchsize大小、torch和cuda版本的问题,提出通过调整batchsize、检查并修复torch/cuda版本冲突以及在yaml配置中调整MAX_ITEM_LIST_LENGTH来解决问题的方法。
摘要由CSDN通过智能技术生成

完整的报错:

看了下这个报错大概和显存有关系,可能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

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ce-side assert triggered是由于代码中出现了索引越界导致的错误。这个错误是CUDA报错,具体原因可能是代码中的某个索引超出了合法范围。然而,根据引用\[2\]所述,报错位置的代码并不一定是错误的根本位置,因此需要进一步分析。根据引用\[3\]的问题分析,可能是由于维度范围溢出导致的CUDA错误。为了解决这个问题,可以检查代码中的索引操作,确保索引值在合法范围内。此外,还可以尝试使用调试工具来定位错误的具体位置,并查看相关的报错信息以获取更多的线索。 #### 引用[.reference_title] - *1* *2* [RuntimeError: CUDA error: device-side assert triggered Pytorch框架代码运行错误解决方案(亲测有效!...](https://blog.csdn.net/weixin_42112050/article/details/120455407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [「Bug」问题分析 RuntimeError: CUDA error: device-side assert triggered](https://blog.csdn.net/ViatorSun/article/details/125207465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值