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

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

请先登录,再进行评论。

采纳的回答

Kojiro Saito
Kojiro Saito 2022-6-22
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 个评论
かなえ 永井
かなえ 永井 2022-6-23
採用を押しました。
今後ともよろしくお願いします。
Kojiro Saito
Kojiro Saito 2022-6-23
ありがとうございます!

请先登录,再进行评论。

更多回答(1 个)

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

Community Treasure Hunt

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

Start Hunting!