プログラムの処理時間を短縮したくございます。

19 Ansichten (letzte 30 Tage)
かなえ 永井
かなえ 永井 am 17 Jun. 2022
Kommentiert: Kojiro Saito am 23 Jun. 2022
計算速度を向上させたいです。
AIにプログラム内で作成した沢山のデータを予測させようとしています。
データ数が多いため、データ作成およびAI予測に、長時間を要します。
計算時間を短縮するため、以下の事を既に実行しております。
・parfor の利用は、プログラム上不可能でした。
・Matlab に記載されてある 'パフォーマンス向上の手法' を用いた時間短縮。
・GPUで処理 → 反対に処理時間が延長しました。
 原因は、CPE-GPU間でのデータの遷移時間が長いことに起因していると思います。
以下が、質問内容になります。
①他に計算速度を向上させる方法がございましたら、ご教授願いたいです。
②GPU を使いこなせていない可能性があるため、GPU を用いたデータ作成時間および AI の予測時間を短縮させる方法も知りたくございます。
お手数をおかけしますが、どうぞよろしくお願いします。
  3 Kommentare
かなえ 永井
かなえ 永井 am 20 Jun. 2022
お早いご対応ありがとうございます。
早速、実行してみます。
また何か疑問点が発生しましたら、再度ご質問します。
ご回答ありがとうございました。
かなえ 永井
かなえ 永井 am 22 Jun. 2022
追加で質問がございます。
プロファイリングした結果、AI に結果を予測させる時がボトルネックになっていました。
そのAIは genFunctionを用い、関数化しています。
AI(関数)の処理速度を向上させたいのですが、
①パフォーマンス向上の手法(https://jp.mathworks.com/help/matlab/matlab_prog/techniques-for-improving-performance.html) 以外の処理速度向上方法
②GPU を用いた AI 予測時間短縮方法
があればご教授願いたいです。
お手数をおかけしますが、どうぞよろしくお願いします。

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 22 Jun. 2022
genFunctionを使われた関数ということで、浅いネットワークを使った予測をされているのかと思います。
浅いネットワークの場合、以下2つは同じ結果になりますが、
y = sim(net,x,xi,ai)
y = net(x,xi,ai)
sim (ニューラル ネットワークのシミュレーション)ではオプションで並列処理やGPUを指定できます。
y = sim(net,x,xi,ai, 'useGPU','yes');
でGPUを使った予測、
y = sim(net,x,xi,ai,'useParallel','yes');
でマルチCPUを使った予測ができます。
こちらで処理時間短縮になるでしょうか。
  5 Kommentare
かなえ 永井
かなえ 永井 am 23 Jun. 2022
採用を押しました。
今後ともよろしくお願いします。
Kojiro Saito
Kojiro Saito am 23 Jun. 2022
ありがとうございます!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

かなえ 永井
かなえ 永井 am 23 Jun. 2022
ご回答ありがとうございます。
net でオプションを指定し、GPUおよびマルチCPUを用いた予測を行いました。
時間短縮できました (処理時間:GPU < マルチCPU < オプション指定なし)。
親切なご回答ありがとうございました。
今後ともよろしくお願い申し上げます。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!