PyTorch Scatter 2.0 : 概要 (README 他)

PyTorch Scatter 2.0 : 概要 (README 他) (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 03/18/2021 (2.0.3)

* 本ページは、PyTorch Scatter 2.0 の以下のページを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

無料セミナー実施中 クラスキャット主催 人工知能 & ビジネス Web セミナー

人工知能とビジネスをテーマにウェビナー (WEB セミナー) を定期的に開催しています。スケジュールは弊社 公式 Web サイト でご確認頂けます。
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
  • Windows PC のブラウザからご参加が可能です。スマートデバイスもご利用可能です。
クラスキャットは人工知能・テレワークに関する各種サービスを提供しております :

人工知能研究開発支援 人工知能研修サービス テレワーク & オンライン授業を支援
PoC(概念実証)を失敗させないための支援 (本支援はセミナーに参加しアンケートに回答した方を対象としています。)

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
E-Mail:sales-info@classcat.com  ;  WebSite: https://www.classcat.com/  ;  Facebook

 

PyTorch Scatter 2.0 : 概要 (README)

 
ドキュメント

このパッケージは PyTorch での使用のために高度に最適化されたスパース更新 (scatter と segment) 演算の小さい拡張ライブラリから成ります、これらはメインパッケージでは欠落しています。scatter と segment 演算は与えられた「グループインデックス」tensor に基づく reduce 演算として大雑把に説明できます。segment 演算はソートされる「グループインデックス」tensor を必要とする一方で、scatter 演算はこれらの要求には依存しません。

パッケージは reduction タイプ “sum”|”mean”|”min”|”max” を持つ以下の演算から成ります :

  • scatter、任意のインデックスに基づきます。
  • segment_coo、ソートされたインデックスに基づきます。
  • segment_csr based on compressed indices via pointers

更に、次の composite (合成) 関数を提供します、これらは内部的には scatter_* 演算を利用しています : scatter_std, scatter_logsumexp, scatter_softmax と scatter_log_softmax。

総ての含まれる演算はブロードキャスト可能で、様々なデータ型上で動作し、対応する backward 実装とともに CPU と GPU の両者のために実装され、そして完全にトレース可能です。

 

サンプル

import torch
from torch_scatter import scatter_max

src = torch.tensor([[2, 0, 1, 4, 3], [0, 2, 1, 3, 4]])
index = torch.tensor([[4, 5, 4, 2, 3], [0, 0, 2, 2, 1]])

out, argmax = scatter_max(src, index, dim=-1)
print(out)
tensor([[0, 0, 4, 3, 2, 0],
        [2, 4, 3, 0, 0, 0]])

print(argmax)
tensor([[5, 5, 3, 4, 0, 1]
        [1, 4, 3, 5, 5, 5]])
 

以上