You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

terra::predict()执行报错std::bad_alloc,请求技术协助

使用terra::predict()基于glmmTMB模型栅格预测时触发内存分配错误的求助

我在R中使用terra包的predict()函数,基于glmmTMB模型结果开展栅格预测工作。当前环境内有4个SpatRaster文件,已组合为栅格栈用于预测,其中habitat_type是经terra::as.factor()转换的分类栅格。

这段代码曾成功运行一次,但后续执行完全相同的代码时,触发如下错误:

Error in MakeADFunObject(data, parameters, reportenv, ADreport = ADreport, :
Caught exception 'std::bad_alloc' in function 'MakeADFunObject'

查阅资料得知该错误大概率由内存或存储不足导致,我已尝试以下解决方法,但问题仍未解决:

  • 调用gc()、rm()清理内存与环境对象
  • 调整R的内存上限
  • 将terra包更新至最新版本

附上执行代码寻求帮助:

envi <- c(dist_building, dist_road, dist_coast, habitat_type)

names(envi) <- c('dist_building','dist_road','dist_coast','habitat_type')
# 以上是我的栅格数据,其中habitat_type是用terra::as.factor()转换的分类栅格

prediction_oland_tuned <- terra::predict(object = envi,
                                         model = model_oland_tuned, 
                                         type = "response", # 试过去掉这个参数,没有帮助
                                         const = data.frame(ID=NA),
                                         re.form = NA)

内容的提问来源于stack exchange,提问作者JingPeng Cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:35:04