92
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

深層学習フレームワークヒッチハイクガイドVer4.0

注意:私は深層学習の専門家ではなくチュートリアルをいくつか動かした程度の初心者です。深層学習のフレームワークについてまとめ記事がかなりあるのですが、情報が古かったり私が知りたいことがなかったりして、自分が知りたいことをまとめました。定期的に更新しています。

深層学習のフレームワーク

Framework Developer License Language 動作環境 Feature Qiitaでのタグ付き解説記事(記事数は2016/10/15) 2017/07/17 2018/02/12 2020/02/23
TensorFlow Google Apache License 2.0 Python, R Interface to TensorFlow 研究成果、ドキュメント量、関連書籍とも独走状態。A Neural Network Playground - TensorFlowでWEB上で、どんな動作をするかが簡単に試せる。 445記事 1,031記事 1,445記事 2,917記事
Keras MIT License Python, R TensorFlow, Theanoを裏で動かすための記述を簡単にしたライブラリ。Cognitive Tool Kitにも対応した。本家サイトに日本語ページあり。 34記事 250記事 475記事 1,619記事
PyTorch Pytorch.org 修正BSD Python TorchのPython移行とともにCaffe2を統合するなどして一気に急進 573記事
Torch Facebook Lua 7記事 35記事 35記事 38記事
Theano License Python 32記事 40記事 48記事 54記事
Darknet C 1記事 10記事 15記事 53記事
Neural Network Libraries / Neural Network Console Sony Apache License 2.0 Python, C++, GUI 2017/06/27公開 Neural Network Console はGUI操作で深層学習のネットワーク構築から実行まで可能。 - タグなし記事が1記事のみ タグなし"Neural Network Libraries"で4記事のみ タグなし"Neural Network Console"で14記事 neuralnetworkconsole 34記事
MXNet Apache Apache License 2.0 C++, Python, R, Scala, Julia, Matlab, and Javascript 2記事 14記事 21記事 28記事
Deeplearning4j Apache 2.0 License Java 解説本『Deep Learning Javaプログラミング 深層学習の理論と実装 (impress top gear) 11記事 15記事 15記事 20記事
H2O Python, R httpサーバーのH2Oについての記事が混在し不明 12記事
Sonnet DeepMind Apache License 2.0 Python TensorFlowのラッパー - 4記事 7記事 8記事
ReNom GRID ReNom Subscription Agreement Ver. 1.0 Python 日本発 - - タグなし記事が3記事 6記事
DyNet カーネギーメロン大 Apache License 2.0 Python, C++ - 1記事 1記事 1記事
on Spark
TensorFlowOnSpark Yahoo Apache License 2.0 - タグなし記事が4記事 タグなし記事が5記事 1記事

2年以上更新なし

Framework Developer License Language 動作環境 Feature Qiitaでのタグ付き解説記事(記事数は2016/10/15) 2017/07/17 2018/02/12 2020/02/23
Cognitive Tool Kit Microsoft License C++, C#/.NET, Python, Java 2017年以降更新がない。CNTKがバージョンアップとともに改名した。Kerasに対応 CNTKとして1記事 CNTKとして9記事 CNTKとして42記事 CNTKとして73記事
DSSTNE Amazon Apache License 2.0 Amazonはmxnetを採用とのこと。Githubのページも17ヶ月以上更新がなく、なくなっていくと思われる 4記事 4記事 4記事 4記事
Deel 株式会社UEI MIT License Python Deelタグなし記事が1記事のみ 2記事 2記事 2記事

開発停止

Framework Developer License Language 動作環境 Feature Qiitaでのタグ付き解説記事(記事数は2016/10/15) 2017/07/17 2018/02/12 2020/02/23
Chainer Preferred Infrastructure, Inc. Preferred Networks, Inc. License Python 解説本『Chainerによる実践深層学習』があり、日本発なこともあり日本ではかなり勢いがあると思う。
Caffeで作ったモデルを読み込める。
Chainer Playground βができた。
238記事 414記事 536記事 871記事
Caffe Berkeley Vision and Learning Center BSD 2-Clause license Python, C++ PyTorchに統合され開発停止 63記事 103記事 122記事 149記事
Pylearn2 3-claused BSD license Python 開発元GitHubに開発停止の旨 11記事 12記事 12記事 12記事
on Browser
Keras.js MIT License JavaScript Kerasをブラウザ上で実行できるJavaScriptライブラリ 1記事 1記事 1記事
on Spark
CaffeOnSpark Yahoo Apache License 2.0 - 記事見当たらず タグなし記事が2記事 タグなし記事が1記事

試してみよう

比較

  • Google Trend /TensorFlow, Theano, CNTK, Chainer
    • Kerasは深層学習フレームワークだけを特定できず外している
    • 世界
      • TensorFlowが圧倒的だったがPyTorch猛追。
    • 日本
      • Chainerは残念ながら新規開発停止。PyTorchがTensorFlowと同等。

フレームワークを複数紹介しているブログ記事(更新日確認は2020/02/24現在)

書籍

  • 複数のフレームワークを紹介している本はほぼなくなった。TensorFlow/KerasとPyTorchか。

雑感

  • 本命・対抗
    • TensorFlow/Keras独走と思われていたが、むずい。PyTorch急進。Googleがこのまま抜かされていくとは思われないので競争して楽しくなればいいな。どちらがいいかはすみません、分かりません。私はどちらも手を付け中。
      • 昔話
        • Caffe, Pylearn2が2強 → TensorFlowが一気に追い抜いた → PyTorch急進
  • 穴というか差別化
    • Chainerは日本語の自然言語処理という差別化があるかと思ってたが停止
    • SONYのNeural Network Libraries/ConsoleがGUI操作という差別化か
    • 多言語対応でMXNetと思っていた。ただ、RならMXNetの1択と思っていたが、Kerasが対応した。Amazonが応援についたけどあまり話題を聞かない
    • 数年前は各フレームワークともチュートリアル等が乏しく、H2Oはドキュメントが多いのだが、使っている記事などをあまり見かけない
    • CのDarknetが注目。早いし、個人?でここまでチュートリアルセットを充実させているのは期待感あり。と注目していたけどその後話題をほとんど聞かない、、、
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
92
Help us understand the problem. What are the problem?