Kerasを紹介する

ディープラーニングが大きな進歩を遂げた2012年以降、一連のディープラーニングサポートライブラリが誕生しました。 それに伴い、ディープラーニングに関連するアプリケーションや記事の数が劇的に増加する原因となった、ますます多くのディープラーニングアーキテクチャが生まれました。

ディープラーニングライブラリは通常、大手テクノロジー企業、Google（Keras、TensorFlow）、Facebook（Caffe2、Pytorch）、Microsoft（CNTK）、Amazon（Mxnet）によって開発されています。 MicrosoftとAmazonはGluon（Kerasに似たバージョン）の構築にも取り組んでいます。 これらの企業はすべてクラウドコンピューティングサービスを提供しており、ユーザーを引き付けたいと考えています。
![dlp0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344186/8e0f4d36-1303-4a2d-78ee-1fe93a348c71.png)
　　　　　　　　　　深層学習図書館と大規模テクノロジー企業
（情報源：[Battle of the Deep Learning frameworks — Part I: 2017, even more frameworks and interfaces](https://towardsdatascience.com/battle-of-the-deep-learning-frameworks-part-i-cff0e3841750)）

では、どのライブラリが一番いいのでしょうか。その答えは、あなたがどんなオペレーティングシステム、プログラミング言語を精通しているか。研究目的にディープラーニングを使っているか、製品の作成のためにディープラーニングを使っているか。あなたがどのハードウェアプラットフォームを使っているか。

一般に、優れたディープラーニングライブラリには、次のような特徴があります。

- GPUと分散システムによるコンピューティングをサポートします。ディープラーニングモデルのトレーニングには非常に強力なコンピューティング能力が必要なため、これが最も重要です。

- 人気のあるプログラミング言語をサポート：C / C ++、Python、Java、R　などです。

- 多くのオペレーティングシステムで実行できます。

- アイデアからモデルの構築とトレーニングまでの短い時間。

- ブラウザとモバイルデバイスで実行できます。

- プログラマーがモデルに深く干渉し、複雑なモデルを作成するのを助けることができます。

- 多くの`model zoo`が含まれています。つまり、人気のあるディープラーニングモデルが訓練されています。

- 自動バックプロパゲーション計算をサポートします。

- 大きなコミュニティがあります。

上記の要件すべてを満たすライブラリを指摘するのは困難です。どのライブラリが最も使用されているかを最も早く確認できるように、統計をいくつか紹介します。

![dlp1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344186/0c07da70-51f5-c38c-1ee4-e2223491e413.png)
　　　　　　　　　　GitHubリポジトリの星の数（2015-2016年）
　　　　　　　　（参照：[Machine Learning Frameworks Comparison](https://blog.paperspace.com/which-ml-framework-should-i-use/)）
1. TensorFlow
2. Caffe
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
![dlp2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344186/7c85b681-ed1a-fc3a-732f-5cee15df164a.jpeg)
　　　　　GitHubリポジトリの星の数、寄稿者の数、および図書館の年齢
　　　（参照：[Top 16 Open Source Deep Learning Libraries and Platforms](https://www.kdnuggets.com/2018/04/top-16-open-source-deep-learning-libraries.html)）
1. TensorFlow
2. Keras
3. Caffe
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<img width="620" alt="dlp3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344186/b3b38d81-f335-8f9c-4714-a69ee5146e77.png">
            arxivの記事数は各ライブラリを参照している
         （参照：[Why use Keras?](https://keras.io/why-use-keras/)））
1. TensorFlow
2. Keras
3. Caffe

上記の比較は、TensorFlow、Keras、およびCaffeが最も使用されているライブラリであることを示しています（最近ではPyTorchが使いやすく、より多くのユーザーを引き付けています）。

Kerasは、TensorFlow、CNTK、またはTheano（今後登場するTheanoは今後メンテナンスされません）になることができる「バックレベル」とも呼ばれる「低レベル」セクションを持つ「高レベル」ライブラリと見なされます。 KerasはTensorFlowよりもずっと単純な構文を持っています。ディープラーニングライブラリを使用するよりも多くのモデルを導入する目的で、TensorFlowを使用したKerasを「バックエンド」として選択したほうがいいと思います。

Kerasのホームページに[なぜKerasを使う](https://keras.io/why-use-keras/)のかについてもっと読むことができます。 （もちろん、どんなライブラリのホームページにも、「なぜ使うのか」のような記事があります）。いくつかの箇条書きを繰り返したいと思います。

- Kerasはプログラマーの経験を優先します

- Kerasはビジネスや研究コミュニティで広く使われています

- Kerasはデザインを製品に変えることを容易にします

- Kerasは複数の分散型GPUに関するトレーニングをサポートしています

- Kerasはマルチバックエンドエンジンをサポートし、あなたをエコシステムに限定しません

Amazonはまた、Keras用のMXNetバックエンドの開発にも取り組んでいます。 Kerasモデルは、CPUの外部にあるさまざまなハードウェアプラットフォームでトレーニングできます。

- NVIDIA GPU
- TensorFlowバックエンドとGoogle Cloudを介したGoogle TPU
- AMDなどのOpenCL GPUは、PlaidML Kerasバックエンドを介しています。

私たちがKerasから始めるのに十分であることを願っています。 Kerasのインストール方法は[ホームページ](https://keras.io/)にあります。

つまりKerasは初心者向けの比較的使いやすいライブラリです。 必要な機能を簡単な構文で提供します。Kerasについてもっと詳しく調べると[ホームページ](https://keras.io/)に検索することができます。