ニューラルネットワークにはsklearnまたはtensorflowを使用する必要がありますか?


7

私はcs231からディープラーニング用のニューラルネットワークを学び始めました。Pythonでニューラルネットワークを実装しようとしています。Tensorflowまたはscikit-learnの使用を検討しています。このアプリケーションのこれらのライブラリの長所と短所は何ですか?

回答:


11

Sklearnはディープニューラルネットワークをあまりサポートしていません。2つのうち、ディープラーニングに興味があるので、テンソルフローを選択します

ただし、テンソルフローをバックエンドとして使用するが、より簡単なインターフェースを提供するkerasを使用することをお勧めします。


4

cs231nコースでは、私が覚えている限り、NumPyだけを使用して自分でニューラルネットワークを実装することにほとんどの時間を費やしています。それは間違いなく私にとって素晴らしい学習体験でした。

その後、最後の割り当てでは、より複雑なネットワークを構築するためにTensorFlow)またはPytorch)を確認する必要があります。これらのフレームワークは、CS231nのようなコースを作成するような人々-研究者や業界の専門家によって構築されました。

SciKit学ぶニューラルネットワークモジュールは、例えば、畳み込みネットワーク(CNNs)、回帰ネットワーク(のRNN)、または別の活性化機能などの他のよりエキゾチックなコンポーネントとして分類または回帰が、何も愛好家のいずれかのためのフィードフォワードネットワークからなります。

私はDjib2011に同意します。Kerasは開始するための優れた代替手段であり、TensorFlow、CNTK、またはTheanoのいずれかをバックエンドとして選択できるようにすることです。Kerasは、3つのモンスターフレームワークすべての優れた均一なラッパーなので、物事をすぐに立ち上げて実行してみましょう。KerasとPytorchの最近の有用な比較を以下に示します。

Kerasのようなツールに慣れると、SciKit Learnのシンプルな製品よりも使いやすくなります。


あなたがPyTorchについて質問しなかったのは知っていますが、CS231nの最初の作成者の1人であるAndrej Karpathyがそれが最良のフレームワークであると言っているので、私はそれを言及したいと思いました(ソース1ソース2)。


Pytorchについて話している間:可変長再帰ネットワークに関しては、他のフレームワークよりはるかに
優れてい

@Evpok-Tensorflowがtf.eagerAPI を使用した動的ネットワークをサポートするようになったことにも言及する必要があります。これはPyTorchに相当します。
n1k31t4
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.