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

如何查看cmdstanr采样输出的environment对象占用的内存?

查看cmdstanr拟合结果(环境对象)的内存占用

调用cmdstanr的sample()方法返回的fit是环境对象,RStudio环境浏览器不会自动显示它的内存占用,你可以用下面几种方法查看:

  • 用pryr包的object_size():这个函数会递归计算环境及其包含的所有对象的总内存,比base R的工具更准确,因为它会处理环境里的嵌套内容。

    # 先装包(没装过的话)
    install.packages("pryr")
    library(pryr)
    
    # 计算内存
    object_size(fit)
    
  • 用lobstr包的obj_size():和pryr的工具类似,结果展示更清晰,同样会递归统计所有关联对象的内存:

    install.packages("lobstr")
    library(lobstr)
    
    obj_size(fit)
    
  • base R手动递归计算:base R自带的object.size()默认不会遍历环境内容,得自己写个小函数来递归统计:

    # 定义递归计算环境内存的函数
    env_size <- function(e) {
      sum(sapply(ls(e), function(x) object.size(get(x, e)))) + object.size(e)
    }
    
    # 计算fit的内存占用
    env_size(fit)
    

小提示

pryr和lobstr的工具会自动处理共享对象,不会重复计算内存;如果fit里引用了原始数据这类大对象,结果会包含这部分内存,要是只想看拟合结果本身的大小,可能需要先把数据从环境里移除再计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:54:23