TensorFlow 2.x は、モデルの構築と全体的な使用において多くの利便性を提供します。それで、tf の新機能は何ですか?
この記事では、TensorFlow API の一部である関数/クラスにより、TensorFlow の使用がスムーズになり、コード行数が削減され、効率が向上する TF 2.0 の 10 の機能について説明します。 1. 入力パイプラインを構築するためのtf.data APItf.data API は、データ パイプラインと関連操作の機能を提供します。 パイプラインの構築、前処理関数のマッピング、データセットのシャッフルやバッチ処理などを行うことができます。 テンソルを使用したパイプラインの構築
データセットのシャッフルとバッチ処理
2つのデータセットを圧縮する
外部関数のマッピング
2. 画像データジェネレータこれは、tensorflow.keras API の最も優れた機能の 1 つです (私の意見では)。画像データジェネレーターは、バッチ処理と前処理中にデータセットのスライスを生成し、リアルタイムでデータ拡張を実行できます。 ジェネレーターを使用すると、ディレクトリまたはデータフレームから直接データをストリーミングできます。 画像データジェネレーターにおけるデータ拡張に関する誤解は、既存のデータセットにさらにデータを追加するというものです。これはデータ拡張の実際の定義ですが、画像データジェネレーターでは、データセット内の画像はトレーニング プロセス中のさまざまなステップでオンザフライで変換されるため、モデルはこれまで見たことのないノイズの多いデータでトレーニングできます。
ここでは、すべてのサンプルが(正規化のために)再スケーリングされ、他のパラメータは拡張のために使用されます。
リアルタイム データ ストリームのディレクトリを指定します。これは、データフレームを使用して行うこともできます。
x_col パラメータは画像への完全なパスを定義し、y_col パラメータは分類のラベル列を定義します。 このモデルは発電機で直接電力を供給することができます。 steps_per_epoch パラメータを指定する必要がありますが、実際にはサンプル数/バッチ サイズになります。
3. tf.image を使用したデータ拡張データの拡張が必要です。データが不十分な場合は、データを変更して個別のデータ ポイントとして扱うことが、より少ないデータでトレーニングを行う非常に効果的な方法です。 tf.image API には画像を変換するためのツールがあり、これは後で前述の tf.data API を介してデータ拡張に使用できます。
上記のコードの出力は次のようになります。
上記のコードの出力は次のようになります。
上記のコードの出力は次のようになります。
上記のコードの出力は次のようになります。 4.TensorFlowデータセット
これは、Tensorflow によって収集されたさまざまなドメインからの非常によく知られたデータセットをダンプするための唯一の出発点であるため、非常に便利なライブラリです。
Tensorflow データセットは次のリンクにあります。 https://www.tensorflow.org/datasets/catalog/overview
5. 事前学習済みモデルに基づく転移学習転移学習は機械学習における新たなホットなトピックです。ベースライン モデルがすでに他の誰かによってトレーニングされている場合、そのモデルはもはや適用可能でも実用的でもありません。転移学習は、事前トレーニング済みのモデルを特定のユースケースに再利用したり、異なるユースケースに拡張したりすることでこの問題を解決します。 TensorFlow は、目的のユースケースに簡単に拡張できるベースラインの事前トレーニング済みモデルを提供します。
この base_model は、追加のレイヤーや異なるモデルを使用して簡単に拡張できます。次に例を示します。
6. 見積もり
推定器は TensorFlow の完全なモデルの高レベル表現であり、簡単にスケーリングして非同期的にトレーニングできるように設計されています - TensorFlow ドキュメント 事前に作成された推定器は非常に高レベルのモデル抽象化を提供するため、低レベルの複雑さを気にすることなく、モデルのトレーニングに直接集中できます。 例えば:
これは、tf.estimator を使用して推定器を構築およびトレーニングするのが非常に簡単であり、推定器をカスタマイズすることもできることを示しています。 TensorFlow には、LinearRegressor、BoostedTreesClassifier など、事前に作成された推定器が多数あります。詳細については、Tensorflow のドキュメントをご覧ください。 7. カスタムレイヤーニューラル ネットワークは、さまざまな種類の層を持つ多層のネットワークとしてよく知られています。 TensorFlow には、多くの定義済みレイヤー (Dense、LSTM など) が含まれています。 しかし、より複雑なアーキテクチャの場合、レイヤーのロジックはメイン レイヤーよりもはるかに複雑になります。 このような場合、TensorFlow ではカスタム レイヤーを構築できます。 これは、tf.keras.layers.Layer クラスをサブクラス化することで実行できます。
ドキュメントに記載されているように、独自のレイヤーを実装する最良の方法は、tf.keras.Layer クラスを拡張して以下を実装することです。
カーネルの初期化は __init__ 自体で実行できますが、ビルドで実行した方がよいでしょう。そうしないと、新しいレイヤーを作成するたびに input_shape を明示的に指定する必要があります。 8. カスタマイズされたトレーニングtf.keras シーケンスおよびモデル API を使用すると、モデルのトレーニングが容易になります。 ただし、複雑なモデルをトレーニングする場合は、ほとんどの場合、カスタム損失関数が使用されます。 さらに、モデルのトレーニングはデフォルトのトレーニングとは異なる場合があります (たとえば、異なるモデル コンポーネントに個別に勾配を適用するなど)。 TensorFlow の自動微分化は、勾配を効率的に計算するのに役立ち、これらのプリミティブはカスタム トレーニング ループを定義するために使用されます。
このサイクルは、ユースケースに応じてよりカスタマイズされた設定で、複数の期間にわたって繰り返すことができます。 9. チェックポイントTensorFlow モデルの保存には 2 つの方法があります。
チェックポイントは、モデルで使用されるすべてのパラメータの正確な値をキャプチャします。 Sequential API または Model API を使用して構築されたモデルは、SavedModel 形式で簡単に保存できます。 ただし、カスタム モデルの場合はチェックポイントが必要です。 チェックポイントには、モデルによって定義された計算の説明は含まれていないため、通常は、保存されたパラメータ値を使用するソース コードが利用可能な場合にのみ役立ちます。 チェックポイントを保存
チェックポイントからロード TensorFlow は、ロードされたオブジェクトから開始して、名前付きエッジを持つ有向グラフをトラバースすることにより、変数をチェックポイント値に一致させます。 ドキュメントを介したモデル回復のための依存関係グラフ
10. ケラスチューナーこれは TensorFlow のかなり新しい機能です。
ハイパーパラメータチューニング (ハイパーチューニング) は、ML モデルの構成を定義するパラメータを選択するプロセスです。これらの要素は、特徴エンジニアリングと前処理後のモデルのパフォーマンスを決定づけるものです。
ハイパーランドに加えて、ベイジアン最適化とランダムサーチもチューニングに使用できます。
さらに、最適なハイパーパラメータを使用してモデルをトレーニングします。
11. 分散トレーニング複数の GPU があり、トレーニング ループを複数の GPU に分散してトレーニングを最適化したい場合は、TensorFlow のさまざまな分散トレーニング戦略によって GPU の使用を最適化し、GPU でのトレーニングを処理できます。 MirroredStrategy は最も一般的に使用される戦略です。どのように機能しますか?
要約するTensorFlow は、機械学習のすべてのコンポーネントを構築するのに十分な強力さを備えています。 このチュートリアルの主な内容は、TensorFlow が提供するさまざまな API の紹介と、それらの使用方法に関するクイック ガイドです。 Git コード アドレス: https://github.com/rojagtap/tensorflow_tutorials |
>>: インテリジェントな音声対話サービスはますます良くなり、従順であることも芸術である
近年、シーンテキスト読み取り(テキストスポッティング)は大きな進歩を遂げており、テキストの検索と認識...
現在進行中のCOVID-19パンデミックにより、企業がリモートワークを実施する必要性が浮き彫りになり...
ジェミニが世論に大騒ぎを引き起こした後、ピチャイ氏の辞任を求める声があらゆるところで聞かれた。過去 ...
本当に「雨の日」に備えるために、清華大学の「幽霊天気」予報モデルが登場しました!世界の未解決の問題を...
通常、ロボットやその他のデバイスは GPS を使用して屋外で自律的に移動を行います。しかし、フランス...
海外メディアのTech Xploreによると、百度の研究ロボット工学・自動運転研究所(RAL)とメリ...
最近、静かに梅雨の季節が去り、猛烈な台風の季節が勢いよくやって来ています。 [[336317]] 8...
史上初のロボットのデザインはレオナルド・ダ・ヴィンチにまで遡ることができます。 16 世紀の変わり目...
私は二人の女の子の母親です。親は子供に何でも良いものを残そうとすると言われていますが、子育ての過程で...
最近、GPT-4(コンテキスト長32k)、MosaicMLのMPT(コンテキスト長65k)、Anth...
[[284089]] AI囲碁プログラム「アルファ碁」を破った唯一の人間である韓国の九段、イ・セドル...
[[396914]]今日、クラスメートがファングループでアルゴリズムに関する質問をしました。対話のト...
Yao Fu ([email protected]) は、エディンバラ大学の博士課程の学生です。彼は北...
ハリー・ポッターの世界では、組分け帽子は生徒の行動履歴、好み、性格に関するデータを取得し、そのデータ...