- 此问题在此处已有答案**:
"memory.limit() is no longer supported" - work around?(1个答案)
6天前关闭。
此帖子已于5天前编辑并提交审核,未能重新打开帖子:
原始关闭原因未解决
我最近下载了RStudio版本4.2.2来做实验,因为我使用的版本给我带来了问题。然而,我很惊讶函数memory.size()
显示错误'memory.size()' is no longer supported
。我通常在机器学习模型拟合期间使用该函数来确定初始和最终内存,以便了解所使用的内存量。正如thread中所建议的,我已经试过了,但它不能解决这个错误。既然这个函数不再被支持,请问有人知道我可以使用哪个函数吗?下面是我用于ML的代码示例
> memory.size()
[1] Inf
Warning message:
'memory.size()' is no longer supported
我使用函数的典型方法是:
result <- vector("list", 6L)
for (n in 1:5) {
Train <- Training[sample(1:180568, 0.4*nrow(Training)),]
memory.size()
Time1 = Sys.time()
fit_rand <- randomForest(Label~., data= Train)
memory.size()
Time2 = Sys.time()
Train_time = (Time2 - Time1)
print(Train_time)
start_memory = memory.size()
pred_rand <- predict(fit_rand, Testing)
result[[n]] <- confusionMatrix(pred_rand, Testing$Label)
print(result)
Time3 = Sys.time()
Validation_time <- (Time3 - Time2)
print(Validation_time)
stop_memory <- memory.size()
Validation_memory = (stop_memory - start_memory)
}
1条答案
按热度按时间rkkpypqq1#
你可以使用
peakRAM
包(在GitHub here上,在CRAN here上)。您需要将计算作为
peakRAM
中的表达式来运行,而不是在一组特定的计算之前和之后运行memory.size()
,例如如果查看
peakRAM
内部,您会发现它使用对gc()
的连续调用来确定之前/之后的内存使用情况。