掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphiで人工ニューラルネットワーク(Artificial Neural Network)のクラスを作りましたが遅いです (ID:150827)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
裏目小僧様 for i:=0 to Count-1 do arD[i]:=arD[i] + coff*arS[i]; の処理を行っていて、繰り返しが多くて簡単に置き換え可能な箇所はBackProp関数(逆伝播)に2か所あるので置き換えてみました。 (AMD Ryzen3 3200G 3.60GHz 4C L1キャッシュ384KB L2キャッシュ2MB L3キャッシュ4MB、RAM:24.0GB) 排他論理和のNN学習で1万回の繰り返し学習、 入力層2ニューロン、中間層128ニューロン、中間層32ニューロン、出力層1として学習個所だけをTStopWatchで処理時間を測って比較してみました。 アセンブラに置き換えない(64ビットコンパイル)の場合の処理時間は2.821秒でした。 アセンブラに置き換えた(64ビットコンパイル)場合は2.218秒でした。 入力層2ニューロン、中間層128ニューロン、中間層64ニューロン、出力層1の場合、 アセンブラに置き換えない(64ビットコンパイル)の場合の処理時間は5.121秒でした。 アセンブラに置き換えた(64ビットコンパイル)場合は4.045秒でした。 アセンブラに置き換えたほうが20%程度速くなっています。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.