Mam様
Tonboです。
CNNの作成、ありがとうございました。
素晴らしいです!
動作させてみました。
(Delphi 11.2、コンパイル:Windows 64Bit Debugモード)
読込みはOKで、次の学習時に、
procedure TMamCnn.ForwardProp(CInput:TArray<TArray<Single>>);
の先頭の
for j := Low(fCSum[i]) to High(fCSum[i]) do
で次のコンパイルエラーが出ました。
「デバッガ例外通知
プロジェクト Project.exeは例外クラス $C0000005(メッセージ’ c0000005 ACCESS_VIOLATION’)を送出しました。」
2.畳み込み層+全結合層ニューラルネットワーク
procedure TMamCnnNn.ForwardProp(CInput:TArray<TArray<Single>>);
の先頭の
for j := Low(fCSum[i]) to High(fCSum[i]) do
で同じエラーが出ました。
私では原因が分かりませんでした。
ご参考まで。
---------------------------------------------------
Mam様
Tonboです。
エラーについて色々調査いただき、ありがとうございました。
動作しました!申し訳ありませんでした。
>初期値を誤った値に変更した場合には
これをしていました・・・
Mam様のソースコードのままでやり直したらOKでした。
私の旧式PCではこうなりました。
学習時間:約18分
正答率:87%
学習時間:約4分
正答率:94%
正答率はパラメータを調整すれば良いです。
>CNNは…パディングを1に固定させていただいていて、またCNNの畳み込みのストライドは1に固定させていただいています。
>プーリング層のストライドも2…で記述させていただいています。
私はこれで十分です。これ以外使いません。
ソースコードを理解する能力はありませんが、
・専用の多次元行列の自作
・多次元行列の座標軸の入れ替え、行列形状の変更
・パディング、ストライドを組み込んで、forward Propagation、Back Propagation
等々を解決されたのだと思います。
気が遠くなります。私は挫折しました。
1.は全結合層が無いのでメモリ量が節約され、全結合層有りより大きな画像が扱えそうです。
確かめたいです。
TensorflowやPython無し、がいいです。
これから、色々動作させてみたいと思います。
まずはお礼申し上げます。
------------------------------