|
Apache TVMは、CPU、GPU、そして様々な機械学習アクセラレーションチップに適した、エンドツーエンドのディープラーニング構築フレームワークです。中国語版のTVMドキュメントは、→ https://tvm.hyper.ai/ をご覧ください。 著者:Tianqi Chen TVM は透過的なコード生成をサポートしていますが、一部の畳み込みカーネルに cuDNN を使用し、残りのステージを定義するなど、手書きのコードをパイプラインに統合する必要がある場合があります。 ネイティブTVMはブラックボックス関数呼び出しをサポートしています。具体的には、TVMはDLPackと互換性のあるすべてのテンソル関数をサポートしています。つまり、任意の関数をPOD型(ポインタ、整数、浮動小数点数)を使用して呼び出すか、DLTensorへのポインタを引数として渡すことで呼び出すことができます。 外部テンソル関数の使用次の例では、 ユーザーは、結果の計算方法を記述する関数を提供する必要があります。計算関数は、入力と出力のシンボルプレースホルダーのリストを受け取り、実行されたステートメントを返します。 この場合、登録済みのTVM関数を呼び出すだけで十分です。これはCBLASを呼び出すためです。TVMは外部配列関数の内部を制御せず、ブラックボックスとして扱います。スケジュールされたTVM関数をさらに組み合わせることで、結果にバイアス項を追加できます。 検証結果結果が期待どおりであるかどうかを確認します。 外部コントリビュートラッパーTVM は外部呼び出し用の外部コントリビュート ラッパーを提供します。次のコードは前の例と同等です。 Python関数をexternとしてフックするTVM 内の任意の PackedFunc を呼び出すことができるため、外部関数を使用して Python にコールバックできます。 以下の例では、TVMランタイムシステムにPython関数を登録し、それを用いて計算段階を実行することで、TVMの柔軟性を高めています。例えば、フロントエンドコールバックを挿入することで中間結果をチェックしたり、カスタムコードをTVMに混在させたりすることができます。 出力結果: 要約
Python ソースコードをダウンロード: extern_op.py Jupyter ノートブックをダウンロード: extern_op.ipynb |
[TVMチュートリアル] 外部テンソル関数
関連するおすすめ記事
-
LLM 推論パフォーマンスは出力形式によって影響を受けますが、JSON は最も大きな影響を受けます。
-
Stable Diffusionの元チームが新会社を正式に発表しました!彼らの新しいモデルはAIペイントの状況を一夜にして一変させ、すでに2億3000万元の資金調達を達成しています。
-
クラウドコンピューティングの巨人からジェネレーティブAIの世界的パイオニアへ:re:Invent 2024の3つの重要な発表を振り返る
-
AI はパーソナライズされたクレジットカードを発行できるようになりました。OpenAI パートナーのおかげで、エージェントはお金を稼ぎ、それを好きなように使うことができます。
-
なぜほとんどのプログラマーは独立した開発を行わないのでしょうか?
-
iFlytek版「Her」は大成功!マルチモーダルバーチャルヒューマンの表情や動きは驚くほどリアルで、たった1枚の画像と1つの文章で自分だけのオリジナルを作れます。