問題タブ [fann]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - VisualStudioでのマネージコードとアンマネージコード間のステップ
3つのプロジェクトがあります:
- プロジェクトA(私のプロジェクト、WPF .NET 4.5)
- プロジェクトB(CLR(FANNライブラリの.NETラッパー)を使用したマネージC ++ )
- プロジェクトC(Cで作成された管理されていないプロジェクト、(FANNライブラリ))
プロジェクトAが開いているVisualStudio2012では、プロジェクトBを介してプロジェクトCにステップインできません。
プロジェクトBとCは無料でオープンソースであり、私はすでにそれらを正常に構築しています。
プロジェクトAはプロジェクトBのDLLを参照し、プロジェクトCのDLLファイルが見つからない場合、プロジェクトAは実行されません。そのため、プロジェクトCのDLLをプロジェクト内にコピーして貼り付け、[常にコピー]を出力ディレクトリに設定しました。
デバッグ中にステップインすると、プロジェクトBのソースコードにしかアクセスできません。まったく理解していないプロジェクトCが[モジュール]ウィンドウに読み込まれていません。プロジェクトCのDLLが含まれていないとプロジェクトは実行されず、含まれているとロードされませんが、すべての呼び出しが機能しているため、どこかにロードする必要があります。
プロジェクトCのPDBファイルをプロジェクトAの出力ディレクトリに含めようとしましたが、運が悪かったので、プロジェクトBからプロジェクトCへの関数呼び出しはステップオーバーされ、決して入りません。
ご了承ください:
- マイコードだけが無効になっています
- プロジェクトCは、2つの方法でプロジェクトBにインクルードされます。「lib」ファイル(リンカー設定内)とソースコード内の「.h」ファイルが参照されます...それが問題かどうかはわかりませんが、あなたはそうかもしれません。
これを実現する方法が必要であることはわかっています。すべてのソースコードを利用できますが、CまたはC ++コードの専門家でも、デバッグの専門家でもありません。binディレクトリからプロジェクトAにさまざまなプロジェクトCのファイルをすべて含めようとしましたが、機能しません。
ヘルプやアドバイスをありがとう!
neural-network - FANN: 訓練された ann 変更 MSE を保存/ロードしますか?
このような問題: MSE 停止関数を使用して、「望ましいエラー」10^-5 (5MB のトレーニング データ、15000 の入力項目、長いトレーニング期間 - 約 1 日) までいくつかの ann をトレーニングしました。トレーニング中のビットフェイルは 0 です。アンをファイルに保存しました。
次に、ファイルからネットをロードし、同じトレーニング データでチェックします。また、最大 5 までのビット エラーが発生することもあります (それほどまれではありませんが、ところで!)。
これは何ですか?誰かがそのような現象に遭遇しますか?
これは丸めアーティファクトだと思います。何千もの重みがテキスト形式でファイルに保存され、読み込まれます...
python - FANN Python バインディングの失敗
libfannと関連する python バインディングをビルドしてインストールしました。Python のセットアップは正常に実行されたようです。
しかし、インポートは失敗します:
誰でもこれを解決する方法を知っていますか?
c++ - C++ ビルド ライブラリとリンク
FANN ライブラリを使用するプログラムを作成しようとしています: http://leenissen.dk/fann/wp/
ソース コードをダウンロードし、.sln プロジェクトを開いてコンパイルしました。今:私は何をしなければなりませんか?「コンソールアプリプロジェクト」を新規作成してみた、メインヘッダーをインクルードしてみました
(以前にプロジェクト フォルダーに src フォルダーをコピーしました)
私は続けました: Project->Properties->Linker->General VS が .lib をコンパイルした "bin" フォルダーを "directories library" に指定しましたが、まだ "unresolved external symbol" (エラー、のエラー) があります。もちろん、コードで呼び出しているいくつかの関数に関連しています)。どうすればいいのか本当にわかりません。似たようなことをするのは初めてです。ここで重要な何かが欠けていると思います...
training-data - FANN 増分学習
現在、FANN を使用して増分学習を行っています。私のプログラムが間違っているかどうかを誰かに教えてもらえますか? ありがとうございました。
トレーニングするデータセットがあります。しかし、将来的には新しいデータセットを取得する予定です。「増分学習」と呼ばれる新しいデータセットを使用して、現在の nn を増分的にトレーニングしたいと考えています。
まず、古いデータ「old.data」で nn を作成してトレーニングします。トレーニングアルゴリズムも設定します。
struct fann *ann = fann_create_standard(num_layers, num_input, num_neurons_hidden, num_output); fann_set_activation_function_hidden(ann, FANN_SIGMOID_SYMMETRIC); fann_set_activation_function_output(ann, FANN_SIGMOID_SYMMETRIC);
fann_set_training_algorithm(ann, FANN_TRAIN_INCREMENTAL);
fann_train_on_file(ann, "old.data", max_epochs, epochs_between_reports, desired_error); fann_save(ann, "mynn.net");
fann_destroy(ann);
次に、新しいデータセット「new.data」がある場合、次のようにプログラムできると思います。
struct fann *ann = fann_create_from_file("mynn.net");
fann_train_on_file(ann, "new.data", max_epochs, epochs_between_reports, desired_error);
私のプログラムは正しいですか?
c - FANN を使用したリンク エラー
MinGW を使用して Windows で基本的な FANN (高速人工ニューラル ネットワーク) プロジェクトを構築しようとしています。ただし、実行可能ファイルをリンクしようとするたびに、一連のundefined reference to
エラーが発生します。興味深いことに、ライブラリをまったくリンクしないと、ライブラリの少なくとも一部が機能していることを意味するエラーがさらに発生します。コンパイルしてリンクしようとしているファイルのコードは次のとおりです。
コンパイルとリンクに使用しているコマンドは次のとおりです。
私が戻ってきたエラーは次のとおりです。
ライブラリをまったくリンクしないと、代わりに次のようになります。
編集:
ハルーガンの頼みで走っnm fanndouble.lib
た。出力はかなり広範囲なので、ここにすべてを貼り付けるのではなく、こちらの Pastebin 経由で利用できるようにしました: http://pastebin.com/raw.php?i=vybFhEcX
については詳しくありませんnm
が、不足しているシンボルがファイルに存在するようです。
編集#2:
doublefann.h の内容は次のとおりです。http://pastebin.com/mrHKJi8C
含まれるfann.hの内容は次のとおりです。http://pastebin.com/gTrHCYAg
この問題は、ライブラリを MinGW で再コンパイルするだけで解決できますか?
編集#3:
Haroogan が提案した変更を行うと、うまくいきました。これらの変更に加えて、FANN の CMakeLists.txt ファイルを次のように変更する必要がありました。
次に、プロジェクトのルートで実行するcmake -G "MinGW Makefiles"
とmingw32-make
、ファイル libdoublefann.dll が生成され、.exe のディレクトリにリンクされて含まれていると、最終的にプログラムを実行できるようになりました。