問題タブ [doparallel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1236 参照

r - foreachループ内でh2oアルゴリズムを実行しますか?

foreach ループ内で h2o.gbm への複数の呼び出しを並行して行うのは簡単だと素朴に考えました。しかし、奇妙なエラーが発生しました。

以下のコード

0 投票する
0 に答える
361 参照

r - R doSnow/foreach のメモリ リークと反復回数が多すぎる

未解決の問題の概要:

1. メモリ不足 - マスター プロセスが必要とするメモリが多すぎますが、そうすべきではありません

一種の任意のネットワークの多くの組み合わせを計算しようとしますが、doparralel と foreach を使用していくつかの問題に遭遇しました。問題の特定のサイズでは、makeCluster(3) を使用しても、1 つのプロセスだけが開始されます。さらに、メモリが不足しています(〜50GBを使用した後-エラー:キル9-Macで)。奇妙なことは、問題のサイズが小さいことですが、すでに非常に大きく、問題なく実行されています。なぜメモリがいっぱいになり、複数のプロセスを開始しないのか、本当に意味がわかりません。大きすぎて計算できないのではないでしょうか?

コード:

これは私のアクティビティ モニターのスクリーンショットです。R プロセスの 1 つは、より多くのメモリ (最大 55GB) を消費します

エラーのスクリーンショットは次のとおりです:エラー

編集 09/22:

上記のコードを更新しました。doParallel の代わりに DoSNOW パッケージを使用すると、プロセスの問題が解決するようです。DoSNOW を使用すると、正しい量のプロセスが開始されます。しかし、これは新たな問題を引き起こしています。foreach の実行回数が多すぎます。

関数に追加しました:

  1. bgg関数 での計算adjmatrix:

    /li>
  2. bzz関数 を使用したの計算をmatmult次のように変更しました。

    /li>

編集 09/23: 解決済み: DoSNOW パッケージ: foreach の実行回数が多すぎます

原因は、コードの次の部分でした。

次の変更により、正しい反復回数 (または結果) が得られます。

コードを更新しました。

0 投票する
3 に答える
3420 参照

r - R: foreach %dopar% でデータフレームを分割する方法

これは非常に簡単な例です。

実際には、n=400000 行のデータフレームがあります。各クラスターの nrow/ncluster データを 1 ステップで送信する方法がわかりません。i = ?

ライブラリ(itertools)のisplitRowsを試してみましたが、成功しませんでした。

0 投票する
1 に答える
323 参照

r - R で画像ファイルを並行して開く

私がやろうとしていること: EBImage を使用して画像のスタックを開き、それらを処理し、処理された画像を新しいファイルに保存します。パッケージ「doParallel」と「foreach」を使用して、これを並行して試みています。

問題: タスクに複数のプロセッサ コアを使用するたびに、R は次のエラーを返します。

このエラーに関する詳細情報を取得する方法がわかりません。同じスクリプトを使用しようとしても、プロセッサ コアが 1 つしかない場合、問題は発生しません。

サンプル スクリプト:

nCores = 1 の場合、コードは機能しますが、nCores が 1 から使用可能なコアの最大数の間の場合は機能しません。

これを実行したいシステムは、CentOS 7 を実行する 36 コアの仮想マシンです。

個々のワーカーはファイル ID に基づいて一意のファイルにアクセスする必要があるため、Linux で同じディレクトリへの同時読み取りと書き込みに問題がない限り、ファイルのロックまたは同時読み取りの問題であるとは考えられません。

正直なところ、回避策と解決策があれば幸いです。

ありがとうございました!


私のセッション情報: R バージョン 3.3.1 (2016-06-21) プラットフォーム: x86_64-apple-darwin13.4.0 (64 ビット) 実行環境: OS X 10.11.6 (El Capitan)

0 投票する
0 に答える
57 参照

r - R はソース関数を見つけることができません

複数のコアでコードを実行するために doParallel および foreach パッケージを使用しています。私のコードは次のようなものです

fun1 を呼び出すと、fun2 の最初のインスタンスが正常に実行されますが、foreach を使用して fun2 を呼び出しているインスタンスでは、Error in fun2(param4, param5, : task 1 failed - "could not find function "fun2"")というエラーが発生します。

0 投票する
1 に答える
518 参照

r - グローバルおよび関数環境のオブジェクトをクラスターにエクスポートする

以下のサンプル コードで foreach と doParallel を使用しています。

clusterExport の environment 引数で、envir = .GlobalEnvを使用すると、エラーが発生します

**"Error in get(name, envir = envir) : object 'param4' not found"**.

そして、envir = environment()を使用すると、エラーは

**"Error in fun2(i, param4, param5, param6) : task 1 failed - "could not find function "fun2"""**

私の質問は、グローバル環境と関数環境のすべてのオブジェクトをクラスターにエクスポートする方法です。

0 投票する
1 に答える
1549 参照

r - R でネストされた foreach dopar を最適化する

以下のコードがどのように構成されているかについての入力をお願いします。より速く実行するために別の方法で編成する必要があるかどうかを知りたいです。具体的には、ネストされたループでforeachdoparを別々に使用する必要があるかどうかです。現在、内側のループが作業の大部分 (それぞれ 10 から 200 のレベルを持つ 1 から 8 のブレークダウン変数を持つ ddply) であり、それを並行して実行しています。簡単にするために、コードの詳細は省略しました。

何か案は?以下に整理されている私のコードは機能しますが、6 コア、41 GB のマシンでは数時間かかります。データセットはそれほど大きくありません (< 20k レコード)。