[ PROMPT_NODE_27482 ]
transforms_reference
[ SKILL_DOCUMENTATION ]
# PyTorch Geometric 转换参考
本文档提供了 `torch_geometric.transforms` 中所有可用转换的综合参考。
## 概述
转换在训练前或训练期间修改 `Data` 或 `HeteroData` 对象。通过以下方式应用:
python
# 数据集加载期间
dataset = MyDataset(root='/tmp', transform=MyTransform())
# 应用于单个数据
transform = MyTransform()
data = transform(data)
# 组合多个转换
from torch_geometric.transforms import Compose
transform = Compose([Transform1(), Transform2(), Transform3()])
## 通用转换
### NormalizeFeatures
**目的**:将节点特征行归一化为总和为 1
**用例**:特征缩放、概率类特征
python
from torch_geometric.transforms import NormalizeFeatures
transform = NormalizeFeatures()
### ToDevice
**目的**:将数据传输到指定设备 (CPU/GPU)
**用例**:GPU 训练、设备管理
python
from torch_geometric.transforms import ToDevice
transform = ToDevice('cuda')
### RandomNodeSplit
**目的**:创建训练/验证/测试节点掩码
**用例**:节点分类划分
**参数**:`split='train_rest'`, `num_splits`, `num_val`, `num_test`
python
from torch_geometric.transforms import RandomNodeSplit
transform = RandomNodeSplit(num_val=0.1, num_test=0.2)
### RandomLinkSplit
**目的**:创建训练/验证/测试边划分
**用例**:链接预测
**参数**:`num_val`, `num_test`, `is_undirected`, `split_labels`
python
from torch_geometric.transforms import RandomLinkSplit
transform = RandomLinkSplit(num_val=0.1, num_test=0.2)
### IndexToMask
**目的**:将索引转换为布尔掩码
**用例**:数据预处理
python
from torch_geometric.transforms import IndexToMask
transform = IndexToMask()
### MaskToIndex
**目的**:将布尔掩码转换为索引
**用例**:数据预处理
python
from torch_geometric.transforms import MaskToIndex
transform = MaskToIndex()
### FixedPoints
**目的**:采样固定数量的点
**用例**:点云子采样
**参数**:`num`, `replace`, `allow_duplicates`
python
from torch_geometric.transforms import FixedPoints
transform = FixedPoints(1024)
### ToDense
**目的**:转换为稠密邻接矩阵
**用例**:小图、稠密操作
python
from torch_geometric.transforms import ToDense
transform = ToDense(num_nodes=100)
### ToSparseTensor
**目的**:转换为稀疏张量格式