2017-07-17 14 views
0

背景:私はイメージを処理し、結果を単一のtxtファイルとして書き出すexeを持っています。例えば500のイメージを処理するために、私はMatlabを使ってこのexeを500回呼び出すループを作成し、各イメージに対応する500のtxtファイルを取得します。同じネットワーク内の別のPCにタスクを配布する方法は?

動機:大量の画像を処理するために、1台のPCでこのような手順を実行するのが遅いと感じています。私はNASにイメージを置くことを考えています。次に、いくつかのPCを接続してMatlabを使って個々のPCにタスクを割り当て、イメージの一部を処理します。最後に、すべてのテキストファイル(結果)が1台のPCに収集されます。

誰でも私が必要とするツールボックスの種類や、簡単なチュートリアルをお勧めしますか?ありがとう!

また、任意のソリューションでMatlabなしでタスクを配布できますか?理想的には、別のPCにアクセスするのではなく、画像を別のフォルダに分けたいと思っています。

要求されたとして、私はそのアルゴリズムを実行するコードは次のようである:

for imageIndex = 1: numberOfImages 
    % Call external exe to process a image with the index 'imageIndex' 
    % The exe will generate a single text file like 'imageIndex.txt' 
    system('myfile.exe', 'imageIndex') 
end 

は、私は万枚の画像があると、それは(私は4つのコアを持っている、とパーのためには有効)一つのコンピュータ上で実行することが本当に遅いです。しかし私は別の4台の予備のコンピュータを持っています。私はそれらにタスクを配布することができますので、私はそれらを接続することができますか?

+0

コードなしでは何もコメントすることはできません....コードであるかもしれないことを知っている人は、ベクター化して現在のものよりもさらに高速化することができます。 –

答えて

1

ツールボックスに余計なものがあるかもしれませんが、そのようなものにはDistributed Computingツールボックスを使用します。また、マルチコアPCをお持ちの場合はParallel Computingツールボックスをご覧ください。適切なセットアップで大幅なスピードアップが可能です。

関連する問題