0

さまざまな種類のネットワークを操作するプログラムを作成して、ニューラル ネットワークを調査したかったのです。これまでのところ、C++ で基本的なパーセプトロンを作成しました。私が理解しているように、ニューラル ネットワークはかなりマイナーなタスクを実行するためにも多くの計算能力を必要とする可能性があるため、最適化が懸念されます。または、少なくとも GPU プログラミングのように極端に行くことなく、このアイデアを真剣に受け止めたいと考えています。

私は Java でのプログラミングに慣れていますが、C++ のプログラミングにはそれほど慣れていませんが、いずれにせよもっと経験を積みたいと思っています。

私の質問:

Javaでメインプログラムをより速く書くことができるとすれば、速度が心配です。メイン プログラムを Java で作成し、より集中的な部分を C++ で作成するのと、プログラム全体を C++ で作成するのとでは、どちらが理にかなっていますか?

ある言語を他の言語より優先するというユーザー インターフェイス要件はありません (つまり、Web アプリに貼り付ける予定はありません)。

**より多くのプロフェッショナルなオープン ソース バージョン (FANN/Encog) が既に利用可能であるため、これを使用する人は他にいません。これは純粋に私の娯楽/学習のためです。もっと C++ を学びたいので、少なくともその一部を書きたいと思います (ただし、完全に Java で書く方が理にかなっていると感じた場合は、その理由を知りたいと思います)。

4

2 に答える 2

1

これはかなり主観的な質問であり、SO にはあまり適していませんが、試してみます。

実装によっては、帯域幅や遅延などによってさらに制限される場合があります。もし私があなただったら、あなたが使い慣れた言語でできる限り書き、プロファイリングし、最適化を念頭に置いて遅い部分をより速いものに書き直します。

これは、一般的に CPU バウンドが予想されるプロジェクトで従う最適化の手順です。

C++ をよりよく理解するためにこれを行っているので、Java の代わりに C++ を全体に使用し、後でその一部を最適化することは有益かもしれませんが、ニューラル ネットワークは非常に「初心者に優しい」プロジェクトではない可能性があります。別の言語により適した設計が原因で、列車事故に遭う可能性があります。あなたはおそらくそれから学ぶでしょうが、終わった後はそれを使うことができないでしょう.

于 2013-07-22T15:19:21.203 に答える