3

私は 40 歳で大学生になります。IT を勉強し、学士号のプロジェクトを行う予定です。基本的な考え方は、ニューラル ネットワークを使用してメディアのバイアスを評価しようとすることです。トレーニング データは、よく知られている偏りのある政治ブログになります。

私が必要としているのは、ネットワーク化されているがクラスター化されていない複数のマシンで並列に実行できるプログラミング言語です。私は 2 台の Linux マシンと 3 台の OS X を実行しています。言語がバイトコードや VM ではなくバイナリにコンパイルされることを望みますが、取得できるものを使用します。GUI ライブラリは必要ないので、これは制約ではありません。私はほとんどのプログラミングを Python で行っていますが、並列実行が容易になるのであれば、別の言語を学びたいと思っています。助言がありますか?

4

3 に答える 3

1

Python に固執することを検討することを強くお勧めします。新しい言語を学ぶと同時に、並列/分散コンピューティングに取り組み始めると、必要のない仕事にスパナが投げ込まれる可能性があります。新しい言語の特殊性を学ぶよりも、必要なニューラル ネットワークを構築する問題に取り組むことに時間を費やすほうがよいと思います。そして、評判によると、Python は計画に非常に適しています。もちろん、バイナリにコンパイルする必要があるという要件に失敗しますが、それがどこから来たのかはわかりません。

クラスタリングなしで複数のマシンで並列プログラミングを書くとき、私は考えています、彼は分散プログラミングを意味します。私は、並列コンピューティングは、使用されるリソースの均一性 (プログラマーの観点から) によって部分的に定義される、分散コンピューティング内のニッチであるという見方に傾いています。この見た目の均一性は、ハードウェアの均一性によってサポートされている場合に非常に役立ち、ビジョンと現実の間にほとんどギャップがなくなります。

あなたが実際に持っているのが、さまざまな仕様とさまざまな OS のさまざまなコンピューターであり、専用ではないネットワークを介して通信している場合、プログラマー (つまり、自分自身) にとって同質であるという幻想を構築するのは難しく、より良いものになるのではないかと心配しています。最初から分散システムの構築に着手。

CとMPIを選ぶようにという答えにはまったく同意できません。Pythonを使用すると、はるかに速く進歩できると思います。

勉強頑張ってください。

ああ、新しいプログラミング言語を忘れるという私のアドバイスを受け入れられない場合は、Haskell と Erlang を検討してください。

于 2012-08-07T13:38:30.877 に答える
0

それは私にはC + MPIのように聞こえます。

于 2012-08-07T13:20:51.607 に答える
0

興味深いプロジェクトのようですね。しかし、横方向に考えると、GPU ベースのシステム (つまり、大規模な並列) は、より複雑ではないでしょうか? したがって、おそらくC + CUDAのようなものですか?

まだ存在しているかどうかはわかりませんが、OCCAM (昔のトランスピューターから) は、PAR と SEQ の構造を持つ並列システムとして設計されました。 Linuxでこれを読んだばかりです

于 2012-07-28T10:45:28.807 に答える