取引のためのONNXの学習 - ページ 8

 

ONNX を使用したニューラル ネットワークのインポートとエクスポート



ONNX を使用したニューラル ネットワークのインポートとエクスポート

このビデオでは、異なるニューラル ネットワーク フレームワーク間でモデルを交換するための機械学習モデルのクロスプラットフォーム仕様およびファイル形式として ONNX を使用する方法を示しています。スピーカーは、Mathematica と Keras を介して ONNX を使用してニューラル ネットワークをインポートおよびエクスポートする方法、メタデータを検査およびインポートする方法、およびエクスポート時にメタデータを設定する方法を示します。また、Core ML、PyTorch、および Wolfram 言語間でのモデルのエクスポートとインポート、および変換中に正しいオフセットを使用することの重要性についても説明します。講演者は、インポートとエクスポートのサポートの拡大、インポーターにとって困難なケースの改善、複数のオペレーター セット バージョンへのエクスポートの許可など、ONNX の将来について話し合います。さらに、講演者は ONNX と MXNet の違いを説明し、内部ユーティリティを使用して ONNX にエクスポートできる機能を確認する方法について説明します。

  • 00:00:00 このセクションでは、Matteo Salvarezza と Maria Sarksyan が、異なるニューラル ネットワーク フレームワークがモデルを相互に交換できるようにする機械学習モデルのクロスプラットフォーム仕様およびファイル形式である ONNX を紹介します。 Mathematica と Keras を介して ONNX を使用してニューラル ネットワークをインポートおよびエクスポートする方法を示し、メタデータを検査およびインポートする方法と、エクスポート時にメタデータを設定する方法を示します。次に、Fortnite モデルを Mathematica から Keras に変換し、次に Mathematica にインポートする前に ONNX に変換する方法を紹介します。

  • 00:05:00 このセクションでは、スピーカーは、画像を白質と灰白質に分割して人間の脳のさまざまな解剖学的組織を表すセグメンテーション モデルについて説明します。このモデルのアーキテクチャは、共有ユニット タイプのエンコーダーと個別のデコーダーで構成されます。講演者は、脳画像を JPEG ファイルにエクスポートし、Python にインポートし、モデルを実行して画像を評価し、セグメント化された画像を NS ファイルにエクスポートして Mathematica にインポートするプロセスを概説します。このプロセスでは、OneNext ライブラリを使用して追加のチェッカーを実行した後、ONNX エクスポートをインポートし、Keras モデルの入力を設定し、予測を行い、セグメント化された画像を NS ファイルにエクスポートします。最後に、スピーカーは、画像のインポート範囲が 0 から 1 であり、255 で除算されることを確認することの重要性に注意します。

  • 00:10:00 ビデオのこのセクションでは、スピーカーが ONNX を使用したニューラル ネットワークのインポートとエクスポートについて説明します。彼らは、Keras から ONNX にモデルをエクスポートし、Mathematica にインポートし直す可能性について言及しています。スピーカーは、変換プロセスで正しいオフセットを使用することの重要性を強調し、特定の操作をネット手術演算子を使用して置き換える必要があるかもしれないことに注意します。次に、ONNX ML ツール パッケージを使用して Core ML から ONNX にモデルを移動する方法と、事前トレーニング済みのモデルとそのクラスを Core ML にエクスポートする方法を示します。このビデオでは、プロセスに関連する多くのステップがあることを強調し、ユーザーが自分で評価するための例を提供しています。

  • 00:15:00 このセクションでは、適切な関数を使用して、平均および分散補正を含め、ONNX から Core ML にエクスポートする方法についてスピーカーが説明します。また、ネットを PyTorch から ONNX に変換してから完全な Wolfram 言語に変換する方法についても説明します。このプロセスには、最終的なフォーマットを使用可能にするために必要な手術が含まれます。スピーカーは、使用可能なフォーマットを取得して評価する方法を示します。最後に、スピーカーは、Wolfram 言語から ONNX を介して PyTorch に移行するための最終ステップを、事前にトレーニングされたネットとクラスを取得してエクスポートすることで実演します。

  • 00:20:00 ビデオのこのセクションでは、スピーカーが ONNX を使用したニューラル ネットワークのインポートとエクスポートについて説明します。彼らは、ONNX モデルが読み込まれると、PyTorch で変換および評価でき、サイズ変更、中央のトリミング、正規化などの変換が使用されると説明しています。モデルを評価して、確率が最も高い 3 つのクラスを取得します。次に講演者は、インポートとエクスポートのサポートの拡大、インポーターにとって困難なケースの改善、複数のオペレーター セット バージョンへのエクスポートの許可など、ONNX のインポートとエクスポートの将来について話し合います。

  • 00:25:00 このセクションでは、スピーカーが ONNX と MXNet の違いについて説明します。 MXNet は完全なニューラル ネットワーク フレームワークですが、ONNX はニューラル ネットワークのエクスポートとインポートに使用される単なるファイル形式です。スピーカーは、実際のフレームワークとして機能する ONNX ランタイムと呼ばれる別のソフトウェアがあることにも言及しています。スピーカーは、内部ユーティリティを使用して ONNX にエクスポートできる機能を確認する方法についての情報も提供します。
Importing and Exporting Neural Networks with ONNX
Importing and Exporting Neural Networks with ONNX
  • 2022.01.22
  • www.youtube.com
ONNX is an open format to represent deep learning models. It allows easy conversion of models from one framework to another. In this talk, we will provide an...
 

Tensorflow モデルの ONNX 形式への変換 - 人間の感情の検出



Tensorflow モデルの Onnx 形式への変換 - 人間の感情の検出

このビデオでは、事前トレーニング済みの TensorFlow モデルを ONNX 形式に変換する利点について説明しています。ONNX 形式は、ONNX ランタイムを使用してさまざまなハードウェア プラットフォーム間で解釈できる機械学習モデルを表すための共通形式を提供します。モデルを変換することで、開発者はモデルをさまざまなフレームワークでより効率的に実行したり、他の実践者とより簡単に使用したりできます。このビデオでは、ONNX GitHub リポジトリで提供されているツールと仕様を使用して TensorFlow および Keras モデルを ONNX 形式に変換するプロセスを示し、ONNX 形式がモデルを最適化し、予測の実行時間を短縮する方法を強調しています。また、ONNX モデルは、CPU での人間の感情検出に関して TensorFlow モデルよりも優れています。

  • 00:00:00 ビデオのこのセクションでは、プレゼンターが、オープン ニューラル ネットワーク エクスチェンジを表す ONNX 形式について説明します。 Microsoft、Facebook、および AWS によって共同開発された ONNX 標準は、ONNX ランタイムを使用してさまざまなハードウェア プラットフォーム間で解釈できる機械学習モデルを表すための共通の形式を提供します。事前トレーニング済みの TensorFlow モデルを ONNX 形式に変換することで、開発者はそれらを PyTorch などの他のフレームワークのモデルに変換できます。これにより、モデルを別のフレームワークでさらに効率的に実行したり、他の実践者が使用したりできます。 ONNX ランタイムは、開発者が選択した任意のハードウェア プラットフォームで ONNX モデルを実行できる軽量のモジュール式推論エンジンです。全体として、プレゼンターは、モデルを ONNX 形式に変換する柔軟性と容易さを強調し、開発者が選択したフレームワークを簡単に操作できるようにすると同時に、モデルを任意のハードウェア プラットフォームでも実行できるようにします。

  • 00:05:00 このセクションのビデオでは、TensorFlow to ONNX ツールと ONNX ランタイムを使用して、TensorFlow モデルを ONNX 形式に変換するプロセスについて説明します。このビデオでは、最初の TensorFlow モデルのサイズはほぼ 1 ギガバイトであり、デプロイには同じ量のスペースが必要でしたが、最適化された ONNX バージョンはわずか 327 メガバイトであることが説明されています。さらに、このビデオでは、ONNX GitHub リポジトリで提供されている仕様を使用して、Keras モデルを ONNX 形式に変換する方法を示しています。最後に、ビデオは、変換されたモデルを推論のためにテストできることに言及して終了します。

  • 00:10:00 このセクションでは、スピーカーは、CPU 上で実行される感情検出モデルを実演することによって、TensorFlow の必要性を排除する ONNX ランタイムを使用して ONNX モデルを実行する方法を説明します。まず、講演者は、CPU 実行プロバイダーを指定し、ONNX ランタイムをインポートする方法を示します。次に、スピーカーは、出力名を正しく指定することの重要性を強調し、TensorFlow の代わりに NumPy を使用して入力画像を渡します。感情の確率を提供する ONNX モデルは、TensorFlow を必要としないため、入力画像内の感情を検出し、同じ確率をはるかに高速に生成できます。スピーカーは、時間ライブラリをインポートすることで、TensorFlow を使用した感情検出モデルの実行と ONNX ランタイムの実行速度の違いを示しています。

  • 00:15:00 ビデオのこのセクションでは、プレゼンターが、CPU と GPU の両方を使用して TensorFlow および ONNX モデルの推論時間を測定する方法を示しています。 GPU を使用した TensorFlow モデルの実行には 0.15 秒かかりますが、CPU を使用した ONNX モデルの実行には 0.5 秒かかります。次に、プレゼンターは GPU を使用して ONNX ランタイムをインストールし、ランタイムを再起動して GPU のバージョンを考慮します。最後に、GPU を使用した ONNX モデルの推論時間が測定され、TensorFlow モデルと比較されます。

  • 00:20:00 このセクションの動画では、TensorFlow モデルを ONNX 形式に変換するプロセスと、最初の TensorFlow モデルを最適化する方法を示しています。 ONNX 形式を使用すると、モデルを最適化し、予測の実行時間を短縮できます。このビデオでは、GPU と CPU を使用して元の TensorFlow モデルを実行し、次に GPU を使用して ONNX 形式を実行し、続いて両方のモデルを 100 回の予測でテストして、予測ごとの平均時間を測定する方法を示しています。 ONNX モデルでは、1 回の予測にかかる平均時間が 23 ミリ秒になり、初期の TensorFlow モデルよりも 6 倍速くなりました。

  • 00:25:00 このセクションでは、スピーカーは、人間の感情検出に関する Tensorflow モデルと比較した ONNX モデルのパフォーマンスについて説明します。 CPU を使用すると、ONNX モデルは Tensorflow モデルの約 2 倍の速度で実行されます。講演者は具体的な例を示し、0.8 を 0.35 で割った値が両方のモデルで実行され、Onnx モデルが Tensorflow よりも優れていたと述べています。
Converting Tensorflow model to Onnx format - Human emotions detection
Converting Tensorflow model to Onnx format - Human emotions detection
  • 2023.01.13
  • www.youtube.com
In this section we continue our human emotions detection project. We shall focus on converting the trained Tensorflow model into the Onnx format.Colab Notebo...
 

ほぼすべての PyTorch モデルを ONNX に変換し、フラスコを使用して提供する方法



ほぼすべての PyTorch モデルを ONNX に変換し、フラスコを使用して提供する方法

ビデオ チュートリアルでは、PyTorch モデルを ONNX 形式に変換し、Flask を使用して提供する方法を示します。プレゼンターは、まずデータセットをインポートし、データ並列を使用してモデルを定義し、続いてモデルの重みをロードして ONNX にエクスポートします。このビデオでは、Flask エンドポイントを作成して ONNX モデルを提供する方法、続いてテンソルを numpy 配列に変換し、モデルから出力を取得する方法を紹介しています。また、スピーカーはシグモイド関数をモデル出力に適用して、0 から 1 の間の確率に変換します。最後に、公平な比較のためにデバイスを CPU に切り替え、API の応答時間が速いことを示します。ビデオは、ONNX モデルを最適化してパフォーマンスを向上させる方法がたくさんあることを指摘し、視聴者にコメント セクションでフィードバックを共有してもらうことで締めくくっています。

  • 00:00:00 このセクションのビデオでは、PyTorch モデルを ONNX 形式に変換する方法と、それを提供する Flask エンドポイントを作成する方法について説明しています。このビデオでは、鳥の感情モデルを基本モデルとして使用し、最大長とバッチ サイズのパラメーターにわずかな変更を加えています。ビデオでは、必要な依存関係をインポートし、入力形状の指定を含め、変換用のメイン関数を作成する手順について説明します。このビデオでは、変換されたモデルを保存する方法と、モデルを提供する Flask エンドポイントを作成する方法についても説明します。

  • 00:05:00 ビデオのこのセクションでは、プレゼンターが PyTorch モデルを ONNX に変換し、Flask を使用して提供する方法について説明します。まずデータセットをインポートし、次にデータ並列を使用してモデルを定義します。次に、モデルの重みを読み込み、モデルを評価モードにします。モデルを見て、入力が ID、マスク、およびトークン タイプ ID であることを確認することによって、入力を取得する方法を示します。次にプレゼンターは、3 つの入力名と出力名を指定して、モデルを ONNX 形式にエクスポートする方法を示します。また、どの入力または出力が動的な形状を持つかを指定するディクショナリである動的軸も定義します。

  • 00:10:00 このセクションのビデオでは、「convert to ONNX」コードを使用して PyTorch モデルを ONNX 形式に変換し、Flask を使用してモデルを実行する方法を示しています。 PyTorch モデルは最初に ONNX に変換され、次に ONNX モデルから予測を行うために新しいファイルが作成されます。このビデオでは、ONNX モデルのセッションを指定する方法を示し、ONNX ランタイムをインポートして、モデルを推論セッションにロードできることを示しています。このビデオでは、モデルをデバイスに出力して送信する必要はなく、何かが返されることを説明しています。

  • 00:15:00 ビデオ チュートリアルのこのセクションでは、スピーカーは PyTorch で ONNX 入力用の簡単な辞書を作成する方法を示します。これは、ONNX がすべてのテンソルを受け入れるわけではないため、非常に重要です。ディクショナリは、名前としてのキーと PyTorch テンソルとしての値で構成されます。テンソルを numpy エラーに変換するには、'detach' および 'requires grad' コマンドを使用して numpy 関数を作成します。次にスピーカーは、適切な引数を指定して model.run 関数を呼び出すことにより、モデルから出力を取得する方法を紹介します。最後に、出力を直接印刷するか、Flask で使用するために返すことができます。

  • 00:20:00 このセクションでは、プレゼンターはシグモイド関数を PyTorch モデルの出力に適用して、出力を 0 と 1 の間の確率に変換します。 ONNX モデル用の Flask API。また、ローカル ホストとポートで API を開始する方法と、curl リクエストを使用して API をテストする方法も示します。最後に、プレゼンターは、GPU で実行されていた古い API と比較して公平性を保つためにデバイスを CPU に切り替え、API を再度実行して、より高速な応答時間を実証します。

  • 00:25:00 ビデオのこのセクションでは、講演者は PyTorch モデルを ONNX に変換し、Flask を使用して提供する方法に関するチュートリアルを終了します。彼らは、類似しているように見える古いリクエストと新しいリクエストのタイミングを比較し、ユーザーがパフォーマンスをさらに向上させるために ONNX モデルに適用できる最適化がさらに多くあることに注目しています。講演者は、ONNX がモデルをさまざまな環境に配布するために提供する可能性を実験することを視聴者に奨励し、視聴者に視聴に感謝し、コメント セクションで提案を共有するよう招待して締めくくります。
How to convert almost any PyTorch model to ONNX and serve it using flask
How to convert almost any PyTorch model to ONNX and serve it using flask
  • 2020.07.18
  • www.youtube.com
In this video, I show you how you can convert any #PyTorch model to #ONNX format and serve it using flask api.I will be converting the #BERT sentiment model ...
 

PyTorch モデルを Tensorflow に変換する方法 | onnx.ai |機械学習 |データマジック



PyTorch モデルを Tensorflow に変換する方法 | onnx.ai |機械学習 |データマジック

このビデオでは、プレゼンターが Open Neural Network Exchange (ONNX) ライブラリを使用して PyTorch モデルを TensorFlow モデルに変換する方法を実演します。 ONNX ライブラリの利点と使用法について詳しく説明し、例として使用される手書きの数字を識別するために作成された PyTorch モデルを使用します。サンプル画像の予測のためにモデルを TensorFlow にロードする前に、モデルをトレーニングして ONNX 形式に変換するプロセスが示されています。得られた TensorFlow モデルは .pb ファイルとして保存され、ONNX ライブラリを使用して PyTorch モデルを TensorFlow に変換する方法を示しています。

  • 00:00:00 このセクションでは、プレゼンターが Open Neural Network Exchange (ONNX) ライブラリを利用して PyTorch モデルを TensorFlow モデルに変換する方法について説明します。 ONNX ライブラリは、業界のさまざまな機械学習ライブラリ間の互換性を高めることを目的としたオープン ソース ライブラリです。プレゼンターは、ライブラリの利点と使用法を説明し、ライブラリとその依存ライブラリをインストールする方法を示します。手書きの数字を識別するために PyTorch モデルが作成され、プレゼンターは ONNX ライブラリを使用してモデルをトレーニングおよびテストする方法を示します。 PyTorch モデルのコードは、ビデオの焦点ではないため、詳細には説明しません。

  • 00:05:00 このセクションでは、トランスクリプトは、Neural Network Exchange (ONNX) ライブラリを使用して、トレーニング済みの PyTorch モデルを TensorFlow モデルに変換するプロセスについて説明しています。まず、PyTorch モデルがトレーニングされ、mnist.pth ファイルとして保存されます。次に、モデルは ONNX 形式に変換され、TensorFlow に読み込まれ、サンプル画像で予測が行われます。最後に、TensorFlow モデルが .pb ファイルとして保存されます。このプロセスでは、ONNX ライブラリを使用して PyTorch モデルを TensorFlow に変換する方法を示します。

  • 00:10:00 この抜粋は、スピーカーによる締めくくりの発言のみで構成されているため、要約に関連するコンテンツを提供していません。これには、感謝のメッセージや、視聴者がいいねして購読するための行動を促すフレーズが含まれます。また、スピーカーは視聴者に質問をするように勧め、ビデオで使用されているコードとリソースへのリンクを提供します。
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
  • 2021.06.09
  • www.youtube.com
Hello Friends, In this episode, I am going to show you- How we can convert PyTorch model into a Tensorflow model. We are going to make use of ONNX[Open Neura...
 

Tensorflow モデル/tflite モデルを ONNX に変換する方法



Unity にインポートするために Tensorflow モデル/tflite モデルを ONNX に変換する方法

tf2onnx は、TensorFlow (tf-1.x または tf-2.x)、tf.keras および tflite モデルを、コマンド ラインまたは Python API を介して ONNX に変換します。

https://github.com/onnx/tensorflow-onnx

How to convert Tensorflow model/tflite models to ONNX for importing it into unity
How to convert Tensorflow model/tflite models to ONNX for importing it into unity
  • 2021.06.07
  • www.youtube.com
tf2onnx converts TensorFlow (tf-1.x or tf-2.x), tf.keras and tflite models to ONNX via command line or python api.https://github.com/onnx/tensorflow-onnx
 

可変バッチ サイズで Pytorch (pytorch lightning) モデルを ONNX モデルに変換する



可変バッチ サイズで Pytorch (pytorch lightning) モデルを ONNX モデルに変換する

このチュートリアルでは、可変/動的バッチ サイズで Pytorch (pytorch lightning) モデルを ONNX モデルに変換する方法を学習します。

Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
  • 2021.11.28
  • www.youtube.com
In this tutorial we will learn how Convert Pytorch (pytorch lightning ) model to onnx model with variable/dynamic batch size
 

PyTorch ONNX エクスポートのサポート - Lara Haidar、Microsoft



PyTorch ONNX エクスポートのサポート - Lara Haidar、Microsoft

Microsoft の Lara Haidar が、PyTorch ONNX モデル エクスポート機能の利点について説明します。これにより、モデルを研究から生産に移行し、さまざまなハードウェアで実行できます。彼女は、ONNX ランタイムは非常に人気があり、現在では何百万ものデバイスがそれを使用し、顕著なパフォーマンスの向上を達成していると述べています。さらに、ONNX エクスポート サポートには、モデル カバレッジ、パフォーマンスの最適化、バックエンド サポートの改善が含まれており、モデルが異なるバックエンドのさまざまなバージョンで実行できるようになっています。最後に、Lara は、エクスポートされたモデルをテストし、フィードバックを共有して機能をさらに強化することをユーザーに勧めています。

 

296 - keras トレーニング済みモデルの ONNX 形式への変換 - 画像分類の例



296 - keras トレーニング済みモデルの ONNX 形式への変換 - 画像分類の例

ビデオ チュートリアルでは、Keras でトレーニングされた画像分類モデルを展開用に ONNX 形式に変換するプロセスについて説明します。スピーカーは、Keras を使用してモデルを作成し、コンパイルして、ONNX 形式に変換する前に H5 ファイルとして保存する方法を示します。 ONNX 変換に必要なライブラリをインポートする方法、保存された H5 モデルをロードする方法、1 行のコードを使用して ONNX 形式に変換する方法について、段階的なガイドを提供します。次に、プレゼンターは、結果の ONNX モデルを ONNX ランタイム セッションで使用する方法を示し、ONNX を使用して画像分類の例でクラスを予測する方法を示し、ONNX と Keras を使用して予測の確率を比較します。講演者は、展開に ONNX を使用することの有効性と利点を強調し、既存の HDF ファイルを ONNX に変換する簡単さを指摘します。

  • 00:00:00 このセクションでは、スピーカーは、特に画像分類のために、Keras でトレーニングされたモデルを ONNX 形式に変換するプロセスについて説明します。 ONNX は、H5 などのさまざまなファイル形式で保存されたモデルを、ONNX ランタイムなどのさまざまなランタイムで動作するように変換できる中間形式であると説明しています。講演者は、Keras を使用して単純な画像分類モデルを作成し、H5 ファイルとして保存してから、ONNX 形式に変換する方法を聴衆に説明します。次に、2 つの形式の精度を比較し、ONNX モデルに追加できるさまざまな最適化について説明します。スピーカーは、推論を実行するために、ONNX ランタイムと H5 Pi に加えて、Keras に必要なライブラリをインストールすることも強調しています。

  • 00:05:00 このセクションでは、プレゼンターがモデルのトレーニングとテストに使用されるデータセットについて説明します。これには、トレーニング用に割り当てられた 50,000 個の小さな画像と、テスト用に 10,000 個の小さな画像が割り当てられています。画像は 32 x 32 x 3 で、値を 0 から 1 の間でスケーリングして正規化します。次に、プレゼンターは整数でエンコードされた値をカテゴリ値に変換し、畳み込み層、バッチ正規化、ドロップアウト、およびソフトマックスを使用してモデルを定義します。各クラスの確率を表す 10 個の値を返すアクティベーション。最後に、彼は確率的勾配降下オプティマイザを使用してモデルをコンパイルし、カテゴリカル クロス エントロピーの損失関数を最小限に抑えながら精度メトリックを追跡します。プレゼンターは、早期停止コールバックを使用して、10 エポック後にトレーニング プロセスを終了する方法も示しています。

  • 00:10:00 このセクションでは、スピーカーは、Keras を使用してモデルをトレーニングし、それを H5 形式で保存してから、ONNX 形式に変換する方法について説明します。保存されたモデルをロードし、ONNX 変換に必要なライブラリをインポートし、Keras モデルを ONNX 形式に変換するために必要な 1 行のコードを使用する方法を示します。次に、結果の ONNX モデルを ONNX ランタイム セッションで使用する方法を示し、速度を比較して、展開に ONNX を使用する利点を示します。

  • 00:15:00 このセクションでは、スピーカーは ONNX を使用して画像分類の例でクラスを予測する方法を説明します。まず、モデルから入力名と出力名を取得する方法を示します。次に、次元を拡張してイメージを推論できるようにする方法を示します。グラウンド トゥルースを定義した後、予測を実行し、argmax を使用して予測クラスを計算します。最後に、結果をプロットし、ONNX と Keras を使用して予測を比較します。確率はほぼ同じであり、画像分類タスクに対する ONNX の有効性を示しています。

  • 00:20:00 このセクションでは、スピーカーはトレーニング済みの Keras モデルを画像分類用の ONNX 形式に変換する方法を示します。さまざまなテスト画像の確率結果が表示され、モデルは 50 エポックのトレーニング後に優れた結果を達成しています。講演者は、既存の HDF ファイルを ONNX に変換するのは簡単なプロセスであり、画像セグメンテーションに関する今後のチュートリアルを示唆しています。
296 - Converting keras trained model to ONNX format - Image Classification example
296 - Converting keras trained model to ONNX format - Image Classification example
  • 2023.01.18
  • www.youtube.com
Code generated in the video can be downloaded from here: https://github.com/bnsreenu/python_for_microscopists/blob/master/296-Converting%20keras-trained%20mo...
 

297 - keras トレーニング済みモデルの ONNX 形式への変換 - セマンティック セグメンテーション


297 - keras トレーニング済みモデルの ONNX 形式への変換 - セマンティック セグメンテーション

このビデオでは、ミトコンドリアの電子顕微鏡画像のセマンティック セグメンテーションのために、keras でトレーニングされたモデルを ONNX 形式に変換することに焦点を当てています。プレゼンターは、画像のトリミングと読み込み、データ拡張技術の使用、トレーニングと検証用のジェネレーターの定義、モデルのトレーニングと保存の方法について詳細な手順を提供します。このビデオでは、tf2onnx.convert ライブラリを使用してモデルを ONNX 形式に変換し、ONNX モデルを予測に使用する方法についても説明します。プレゼンターは、トレーニングと変換のベスト プラクティスを強調し、マルチクラス セグメンテーションに関する以前のビデオへのリンクを提供します。チュートリアルは、プレゼンターが、これで ONNX シリーズは終了であり、次のビデオで他のトピックに焦点を当てることを述べて終了します。

  • 00:00:00 このセクションでは、プレゼンターは、Keras トレーニング済みモデルの重みを ONNX に保存し、変換されたモデルを使用して推論を実行する方法を示した以前のビデオに基づいています。今回は、セマンティック セグメンテーション モデルをトレーニングして ONNX に保存する手順を説明します。彼らは、ミトコンドリアの電子顕微鏡データセットを使用しており、生の画像とラベル付きの画像があります。プレゼンターは、画像を適切なサイズにトリミングし、それらをニューラル ネットワークに読み込み、単純なユニット モデルを使用してバイナリ セグメンテーションを実行する方法を示します。彼らは単純なユニット モデルがどのように機能するかを説明し、マルチクラス セマンティック セグメンテーションのためのより複雑なニューラル ネットワークを説明した以前のビデオへのリンクを提供します。

  • 00:05:00 このセクションでは、著者はトレーニング目的で 165 枚の画像の小さなデータセットを 12 枚の画像に分割するプロセスについて説明します。 patchify ライブラリを適用して、画像とマスクを 256x256 ピクセルの小さなパッチに分割します。また、画像とマスクが正確に並んでいることを確認するための「健全性チェック」として、いくつかのランダムな画像についても説明しています。著者は、高さシフト範囲、せん断範囲、ズーム範囲などのデータ拡張技術を使用して、結果を一般化します。また、ランダムな変換が真にランダムではないこと、および同じシードを使用して画像とマスクの両方で変換を生成し、同じランダム性を維持することを保証する方法についても言及しています。最後に、作成者はトレーニングと検証に使用されるジェネレーターを定義し、シードは一貫性のために固定されます。

  • 00:10:00 このセクションでは、スピーカーは、ベスト プラクティスを使用してセマンティック セグメンテーション用のユニット モデルをトレーニングする準備をしており、画像とマスク ジェネレーターを 1 つに結合します。モデルのトレーニングに移る前に、バッチサイズとエポックごとのステップを定義し、0.5 のしきい値を適用して確率出力をバイナリ出力に変換します。モデルはより多くのトレーニング画像を使用できますが、画像のセグメント化は適度にうまく機能しています。次に、スピーカーは H5 ファイルを保存し、TF2 to onnx ライブラリを使用して onnx に変換します。

  • 00:15:00 このセクションのビデオでは、tf2onnx.convert を使用して、Keras でトレーニングされたモデルを ONNX 形式に変換する方法を説明しています。モデルを読み込んだ後、.onnx ファイルとして保存する前に最適化を追加できます。さらに、このビデオは、予測のためにランタイム セッションで ONNX モデルを使用する方法を示しており、Keras モデルと同じ結果を示しています。このビデオは、このチュートリアルが ONNX シリーズの終わりであり、プレゼンターは次のビデオで他のトピックに焦点を当てることを述べて締めくくります。
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
  • 2023.02.01
  • www.youtube.com
Code generated in the video can be downloaded from here: Main file: https://github.com/bnsreenu/python_for_microscopists/blob/master/297-Converting%20keras-t...
 

スマートフォンからクラウド エッジ、およびその間のあらゆるものまで、Qualcomm 搭載デバイスで ONNX を使用する



スマートフォンからクラウド エッジ、およびその間のあらゆるものまで、Qualcomm 搭載デバイスで ONNX を使用する

Qualcomm の一連のデバイス全体で ONNX 交換フォーマットを使用すると、すべてのデバイスでモデルをサポートするのに役立ちます。 Qualcomm は、さまざまなデバイスとさまざまなモデルをサポートする際に困難なアーキテクチャに直面していますが、ONNX は、垂直、強力なデバイス、および地域全体でスケーラビリティを実現するのに役立ちます。 Qualcomm は Microsoft と協力して、Windows を実行しているデバイスを含む、Qualcomm を搭載したデバイスで ONNX モデルを実行できるようにする ONNX ランタイム実行プロバイダーを作成しました。統合されたソフトウェア スタックには、モデルを最適化するためのプロファイラー、コンパイラー、アナライザーなどの追加ツールを使用して、ONNX モデルをさまざまなアクセラレーターに動的にルーティングして最高のパフォーマンスを得ることができる AI エンジンと呼ばれるライブラリーが含まれています。

  • 00:00:00 このセクションでは、Qualcomm の講演者が、ONNX を使用して、小さなイヤホンからラップトップ、安全なカメラ、さらには自動車機器まで、さまざまなデバイスをサポートする方法について話します。彼らは、ONNX の交換形式により、モデルをターゲットにして、サポートするすべてのデバイスで使用できると述べています。また、さまざまなモデル、実装、および機能要件とともに、さまざまなデバイスをサポートするために対処しなければならない困難なアーキテクチャについても説明します。一例として、Apple の深度センサー技術を携帯電話の認証に使用し、同じ技術を安全なカメラや自動車にどのように統合したかについて話しています。

  • 00:05:00 このセクションでは、講演者が AI の分野で今日業界が直面しているスケーラビリティの課題について説明します。彼は、スケーラビリティを実現するために交換フォーマットとして ONNX を使用することの課題と利点について、Qualcomm がどのように対処したかを説明しています。アルゴリズムを CPU から AI アクセラレータに移行することで、デバイスを簡単にスケーリングできます。マルチコア アーキテクチャにより、システムのパフォーマンスが向上し、ライブ ビデオ ストリームの操作に役立ちます。また、インターチェンジ形式では、他のフレームワークを扱う必要がないため、かなりの時間を節約できます。最後に、講演者は、ONNX が垂直、小型で強力なデバイス、および地域全体に拡張するのに役立つことを説明します。

  • 00:10:00 このセクションでは、講演者は、Qualcomm が Microsoft と協力して AI アクセラレータ用の ONNX ランタイム実行プロバイダーを作成する方法について説明します。これにより、ONNX モデルは、Windows を実行しているデバイスだけでなく、モバイル デバイスや車載デバイスなど、さまざまな Qualcomm 搭載デバイスで実行できます。クアルコムは、さまざまなオペレーティング システムをサポートする統合ソフトウェア スタックを開発しました。これには、ONNX モデルをさまざまなアクセラレータに動的にルーティングして最高のパフォーマンスを得ることができる AI エンジンと呼ばれる統合ソフトウェア ライブラリが含まれています。また、特定のデバイスのモデルを構築および最適化するために、プロファイラー、コンパイラー、アナライザーなど、顧客が使用できるさまざまな追加ツールも用意されています。
Using ONNX w/ Qualcomm powered devices from smartphones to the cloud edge and everything in between
Using ONNX w/ Qualcomm powered devices from smartphones to the cloud edge and everything in between
  • 2022.07.13
  • www.youtube.com
Whenever our clients target high performant AI cloud inferencing servers, create new and exciting AI based experiences on mobile phones or improve our lives ...
理由: