PyTorch Scatter 2.0 : 概要 (README 他) (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 03/18/2021 (2.0.3)
* 本ページは、PyTorch Scatter 2.0 の以下のページを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- お住まいの地域に関係なく 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]])
以上