在R

时间:2017-09-06 19:27:39

标签: r

我正在运行分类算法。

  • 我有47个模特
  • 我针对每个模型测试我的输入。
  • 总的来说,这些型号占用2.7GB的磁盘空间。
  • 我使用r.cache
  • 将模型存储在磁盘上
  • 我逐个从磁盘中检索模型并运行预测

所以我认为将模型加载到RAM中是有意义的。这样可以节省时间并加快处理速度。

我调整了函数(参见下面的代码),将模型加载到列表中,并在全局环境中保存模型(假设全局环境在RAM中)。

但是,功能速度没有变化,RAM内存使用情况似乎没有变化。

问题:

我现在假设全局环境变量缓存到磁盘了吗?

是否可以在RAM中保存大型内存占用模型列表(每个型号的范围从50mb到400mb)?

目前的代码如下:

注意: loadCache是​​r.cache包中的一个方法。它从磁盘缓存加载模型。 显然,这是测试代码。如果它确实有效,我会把它分解成更小的函数

  if(is.null(modelsList))
  {
    modelsList=list()

    for(majorFinal in majorAsFactor)
    {
      print(paste("\n\n\n\npredicting.....",majorFinal))
      key=list(paste("KSVM",majorFinal,sep='_'))
      svm_model <- loadCache(key)
      modelsList[[count]] <- svm_model

      count <- count+1
      svm_pred <- predict(svm_model, onerowdfcache)

        if(as.character(svm_pred)!="OTHER")
        {

          results<-c(results,as.character(svm_pred))
          print(results)
        }
    }
  }
  else
  {
    count=as.numeric(1)
      for(svm_model in modelsList)
      {
        print(paste("\n\n\n\npredicting.....",count))
        count=count+1
        svm_pred <- predict(svm_model, onerowdfcache)

        if(as.character(svm_pred)!="OTHER")
        {


          results<-c(results,as.character(svm_pred))
          print(results)

        }

    }
  }

0 个答案:

没有答案