KerasのバックエンドとしてTensorflowまたはTheanoを選択します
-
16-10-2019 - |
質問
ケラス 両方をサポートします Tensorflow と シーノ バックエンドとして:現在すべての操作がTensorflowバックエンドで実装されているわけではないという事実に加えて、一方を選択することの長所/短所は何ですか?
解決 2
2017-09-28に、Theanoが中止されることが発表されました。
から https://groups.google.com/forum/#!topic/theano-users/7poq8bzutby (ヨシュアベンギオ):
ほぼ10年の開発の後、1.0リリースの後にTheano開発に終止符を打つことを発表することを後悔しています。これは今後数週間で予定されています。最小限のメンテナンスを続けて、1年間機能させ続けますが、新しい機能の実装を積極的に実装するのを停止します。 Theanoは、オープンソースソフトウェアへの関与に従って、その後引き続き利用可能になりますが、MILAはその時間枠の後、メンテナンスやサポートに時間を費やすことを約束しません。
したがって、Tensorflowはより良い選択肢です。
他のヒント
オプションが与えられた場合、 私はシーノと一緒に行きます.
理由:
- 最先端のRNN実装とAPI, 、残念ながらTensorflowは所有していません 長い道のりがあります. 。そして、RNNがトレンドレイジであるドメインでは、シアノはそこに大きな優位性を持っています。
- 非常に幅広い実装. 。 Tensorflowには追いつくための長い道のりがあります。最近の多くのMLモデルは、Theanoの助けを借りて行われているため、ニューラルネットワークに関しては標準のようなものです。
- 最適化されています ループの改善: Theano's Scanは、ニューラルネットワークをループするための素晴らしい方法であり、素晴らしいMap-Reduceフレームワークを利用しています。しかし、創造主のジェフ・ディーンが地図のパパであるため、Tensorflowはこれを改善すると確信しています。しかし、今のところ;それはシーノです
- ビデオ分析に関しては大きなエッジ。
ただし、Tensorflowは、CPPコミュニティにとって有利かもしれないCPPとPythonの両方のインターフェイスをサポートしています。しかし、MLとData Science製品に関しては、Pythonが標準であるため、IMOには大きなエッジではありません。
しかし、モデルの展開と生産における使いやすさは、Tensorflowが本当の利点を持っている場合です。改善された簡単な展開にはEigenを使用するため、エンジニアにとって最愛の人になります。 Windowsと互換性がある場合は、大きな移行が表示されます。しかし、私はPythonのオーバーヘッドに慣れてきました、私はそれがより洗練されるまで待つことができます。
だから、今のところシアノ。 Tensorflowが追いつくのを喜んで待つことができます。
簡単な平均的な複雑さのニューラルネットワークを展開している場合は、Tensorflowを使用してください。深い学習の場合、Theano。