TensorFlow の動的グラフツール Eager の使い方は?これは非常に簡単なチュートリアルです

TensorFlow の動的グラフツール Eager の使い方は?これは非常に簡単なチュートリアルです

昨年 11 月、Google Brain チームは、実行によって定義される新しいインターフェースである Eager Execution をリリースしました。これにより、最も人気のあるディープラーニング フレームワークである TensorFlow に動的グラフ メカニズムが導入されました。 Eager の登場により開発がより直感的になり、TensorFlow を使い始める際の難しさが大幅に軽減されました。この記事では、TensorFlow Eager を使用してニューラル ネットワークを構築するための簡単なチュートリアルを提供します。

プロジェクトリンク: https://github.com/madalinabuzau/tensorflow-eager-tutorials

この記事は、TensorFlow Eager モードを使用してディープラーニングの実践的な経験を積みたい人を支援することを目的としています。 TensorFlow Eager を使用すると、Numpy を使用するのと同じくらい簡単にニューラル ネットワークを構築できます。その大きな利点は、自動微分化が提供されることです (バックプロパゲーションを手動で記述する必要はありません (*^▽^*)!)。また、GPU 上で実行できるため、ニューラル ネットワークのトレーニングが大幅に高速化されます。

Google Brain 開発チームはかつて、Eager Execution の主な利点は次のとおりだと述べました。

  • 即時実行時エラーを迅速にデバッグし、Pythonツールと統合します。
  • 使いやすいPython制御フローによる動的モデルのサポート
  • カスタムおよび高次グラデーションの強力なサポート
  • ほぼすべてのTensorFlow操作に適用可能

このチュートリアルは誰にでも分かりやすいものにしたいので、GPU 処理なしで問題を解決してみます。

このチュートリアルで使用される TensorFlow のバージョンは 1.7 です。

始める

1. シンプルなニューラル ネットワークを構築する - 次の図では、合成生成されたデータセットで TensorFlow Eager モードを使用して、単一の隠し層ニューラル ネットワークを構築およびトレーニングする方法を説明します。

2. イーガー モードでのメトリックの使用 - 次の図は、3 つの異なる機械学習の問題 (マルチ分類、不均衡なデータセット、回帰) に対してイーガー モードと互換性のあるメトリックを使用する方法を示しています。

シンプルだが実用的な知識

3. トレーニング済みモデルの保存と復元 – 次の図は、トレーニング済みモデルを保存し、後で復元して新しいデータに対する予測を行う方法を示しています。

4. テキスト データを TFRecords に転送する - 次の図は、可変シーケンス長のテキスト データを TFRecords に保存する方法を示しています。イテレータを使用してデータセットを読み取る場合、データをバッチですばやく入力できます。

5. 画像データを TFRecords に転送する – 次の図は、画像データとそのメタデータを TFRecords に転送する方法を示しています。

6. TFRecords データをバッチで読み取る方法 - 次の図は、TFRecords から可変長シーケンスデータまたは画像データをバッチで読み取る方法を示しています。

畳み込みニューラルネットワーク (CNN)

7. 感情認識用の CNN モデルを構築する – 次の図では、TensorFlow Eager API と FER2013 データセットを使用して CNN モデルをゼロから構築する方法を説明します。完了すると、Web カメラを使用して構築したニューラル ネットワークを試すことができます。これは実験に最適な方法です。

リカレントニューラルネットワーク (RNN)

08. シーケンス分類用の動的 RNN の構築 - 可変シーケンス入力データの使用方法を学習します。次の図は、TensorFlow Eager API と Stanford Large Movie Review Dataset を使用して動的 RNN を構築する方法を示しています。

09. 時系列回帰 RNN の構築 – 次の図は、時系列予測用の RNN モデルを構築する方法を示しています。

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id: Almosthuman2014)」からのオリジナル記事です]

この著者の他の記事を読むにはここをクリックしてください

<<:  畳み込みニューラルネットワークに関する15の質問:CNNと生物視覚システムの研究と探究

>>:  さまざまな分野とフレームワーク、これはディープラーニングモデルの超完全なGitHubコレクションです

ブログ    
ブログ    

推薦する

...

...

ドローンは「緊急産業」がインテリジェンスの時代に移行するのに大いに役立つ

私の国は、世界で最も深刻な災害に見舞われる国の一つです。自然災害は一般的に、種類が多く、被害地域が広...

...

...

機械学習においてデータ品質はどの程度重要ですか?

今日、機械学習は組織の複数の事業部門にわたって重要な機能になりつつあります。機械学習プログラムはデー...

...

コンピュータマスターのジレンマ!試験に合格するのは難しく、仕事を見つけるのも難しい

3年前、ディープラーニングを専攻し、2019年度に入学したばかりのコンピューターマスターが知乎に質問...

VGG畳み込みニューラルネットワークモデル分析

1: VGGの紹介とモデル構造VGGはVisual Geometry Groupの略で、オックスフォ...

教師なし学習のためのアンサンブル法: 類似度行列のクラスタリング

機械学習において、アンサンブルという用語は、複数のモデルを並行して組み合わせることを指します。その考...

...

...

10,000倍速い!バークレーはSQLクエリを最適化するためにディープRLを使用することを提案している

SQL 結合を最適化する方法は、データベース コミュニティが何十年にもわたって研究してきた大きな問題...

宇宙探査における人工知能の驚くべき7つの応用

宇宙探査は人類の最も挑戦的で刺激的な取り組みの一つです。これには、科学的知識、技術革新、そして人間の...