ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

非同期並列プログラミング

parfeval を使用したバックグラウンドでの関数の評価

parfeval を使用すると、完了を待たずにバックグランドで関数を評価できます。多くの場合、for ループを早めに中断できると便利です。たとえば、最適化の手順で、結果が良好な場合はループを早めに停止できます。この処理を行うには、1 つまたはすべての並列プール ワーカーで parfeval または parfevalOnAll を使用します。これは、中間結果をプロットできるようにする場合に役に立ちます。この処理は、ループの完了を待たなければならない parfor を使用する場合とは異なります。

データ キューを使用して異なるワーカーからメッセージまたはデータの送信とポーリングを行うには、sendpoll を共に使用します。afterEach を使用すると、データ キューから新規データを受信したときに呼び出す関数を追加できます。

parallel.Future の配列の各要素またはすべての要素が完了した後で自動的に関数を呼び出すには、afterEach および afterAll を使用します。この配列には、parfevalparfevalOnAllafterEach または afterAll から返された Future を含めることができます。

トピック

parfeval を使用したバックグラウンドでの関数の評価

結果が利用可能になったときにループを早期に終了して結果を収集する。

複数の深層学習実験の実行

この例では、ローカル マシン上で複数の深層学習実験を実行する方法を説明します。

parfeval を使用した複数の深層学習ネットワークの学習

この例では、学習中に parfeval を使用して、深層学習ネットワークのネットワーク アーキテクチャの深さについてパラメーター スイープを行い、データを取得する方法を説明します。

関数

すべて展開する

parfeval並列プール ワーカーでの関数の非同期実行
parfevalOnAll並列プールのすべてのワーカーで関数を非同期実行
ticBytes並列プール内で転送されたバイト数のカウントを開始する
tocBytesticBytes の呼び出し後に転送されたバイト数を読み取る
sendデータ キューを使用したクライアントからワーカーへのデータの送信
poll ワーカーから送信されたデータの取得
afterEachDataQueue で新規データを受信したときに呼び出す関数の定義
afterEachparallel.Future が完了するたびに呼び出す関数を指定する
afterAllすべての parallel.Future の完了後に呼び出す関数を指定
fetchOutputsFuture からのすべての出力引数を取得する
fetchNext利用可能な次の未読の FevalFuture 出力を取得する
cancelキューに登録されている Future または実行中の Future をキャンセルする
isequalFuture の ID が同じであれば true を返す
waitFuture が完了するまで待機する
parallel.Future並列プール ワーカーまたは MATLAB クライアントでの関数の実行を要求
parallel.Pool並列プールへのアクセス
parallel.pool.DataQueueクライアントとワーカーの間でデータの送信とリスニングを可能にするクラス
parallel.pool.PollableDataQueue クライアントとワーカーの間でデータの送信およびポーリングを可能にするクラス

注目の例