3

私の問題は、メモリへのロードが遅い大きなモデルがあることです。多くのサンプルでテストするには、モデルの入力フィーチャを生成するためにCプログラムを実行してから、Rスクリプトを実行して予測する必要があります。毎回モデルをロードするのに時間がかかりすぎます。

だから私は疑問に思っています

1)モデル(Rの変数)をメモリに保持する方法がある場合。

また

2)Rの分離プロセスを専用サーバーとして実行すると、Rのすべての予測プロセスが同じマシン上のサーバー内の変数にアクセスできますか?

すべての予測中にモデルが変更されることはありません。これは、最大500MBの.rdataファイルに保存されているrandomForestモデルです。このモデルの読み込みには時間がかかります。

並列R(snow、doParなど)を使用して並列で予測を実行できることは知っていますが、使用したデータフローを変更する必要があるため、これは私が望むものではありません。

どうもありがとう。

4

1 に答える 1

2

毎回モデルを再生成する場合は、モデルを RData ファイルとして保存し、異なるマシン間で共有できます。ディスクからメモリへのロードにはまだ時間がかかる場合がありますが、再生成の時間を節約できます。

   save(myModel, file="path/to/file.Rda")

   # then
   load(file="path/to/file.Rda")

@VictorKの提案に従って編集: Victorが指摘するように、単一のオブジェクトのみを保存しているsaveRDSため、より良い選択かもしれません。

  saveRDS(myModel, file="path/to/file.Rds")

  myModel <- readRDS(file="path/to/file.Rds")
于 2013-03-03T19:12:54.500 に答える