Aleksandr Seredin マルチスレッドコンピューティングに関する 記事(#5)を勉強しています。添付ファイルからコンパイルしたファイルを実行しようとしましたが、実行されず、ターミナル全体がクラッシュします。ソースからリビルドしてみましたが、結果は同じでした。CNet::backPropOCLメソッドが1486行目(neuron.calcHiddenGradients(nextLayer.At(0));)で呼び出されるとクラッシュし、OpenCL カタログの定義済み関数(CLExecute(kernel_handle,work_dim,work_offset,work_size))ですでにクラッシュしています。最も興味深いのは、ログにエラーはありませんが、テスターも同様にクラッシュすることです。何が原因なのか教えていただけますか?ありがとうございました。
こんにちは。.clファイルをインストールする必要はありません。文字列のようにメイン・プログラムにロードするだけです。
編集(解決済み):AMDはOpenCLのサポートをやめたようですが、無料のMicrosoft OpenCL and OpenGL Compatibility Packがあります。
ドミトリー、開発分野における私の知識を向上させるのにとても役立ちました。あなたのアドバイスにとても感謝しています。現在、マルチスレッドコンピューティングに関する 記事(#5)を勉強しています。添付ファイルからコンパイルしたファイルを実行しようとしましたが、実行されず、ターミナル全体がクラッシュします。ソースからリビルドしてみましたが、結果は同じでした。CNet::backPropOCLメソッドが1486行目(neuron.calcHiddenGradients(nextLayer.At(0));)で呼び出されるとクラッシュし、OpenCL カタログの定義済み関数(CLExecute(kernel_handle,work_dim,work_offset,work_size))ですでにクラッシュしています。最も興味深いのは、ログにエラーはありませんが、テスターも同様にクラッシュすることです。何が原因なのか教えていただけますか?ありがとうございました。
私の理解が正しければ、OpenCLプログラムを実行するとクラッシュします。デバッグモードで実行し、転送されるバッファのサイズを見てみてください。おそらくエラーはOpenCLプログラムの配列オーバーランにあります。
こんにちは、トビアス、
.clファイル(ダウンロードから)をコピーして、Meta Editorの "include "フォルダに貼り付けるだけです。コンパイラはそれを見つけるでしょう。
ありがとうございます。
ファイル "NeuroNet.mqh "のメソッド "bool CNeuron::feedForward(CLayer *prevLayer) "の中に1行ある:
"outputVal=activationFunction(MathMin(MathMax(sum,-18),18)); "という行がある。
なぜ活性化関数の結果が-18から18になるのか理解できません。
なぜ活性化関数の結果が-18から18になるのか理解できません。
これは活性化関数の引数を制約するもので、その値を制約するものではありません。活性化関数の勾配が0に近い値にならないように追加しました。
recentAverageSmoothingFactor = 10000というのは、2年間を基準にしているのですか?
365日 * 2年 * 24時間 = 17,520時間のローソク足(サンプルの長さ)。
私は1年のサンプルを使っているので、8,760(365 * 24 = 8,760)に減らす必要があります。
テストでは、dForecastが0から23までジャンプし、誤差は0.32で一定です。これは正常ですか、それともrecentAverageSmoothingFactorが間違っているからですか?
こんにちは、ディミトリ、
私はあなたの記事が大好きで、それに取り組み始めています。
CBufferクラスはどこにありますか?見つかりません。
よろしくお願いします、
ベンジャミン
こんにちは、ディミトリ、
あなたの記事が大好きです。
CBufferクラスはどこにありますか?見つかりません。
よろしくお願いします、
ベンジャミン
気にしないでください、他の記事で紹介されているように、CBufferFloatに変更する解決策を見つけました :)