dgl.apply_each

dgl.apply_each(data, fn, *args, **kwargs)[source]

对容器中的每个元素应用一个函数。

如果输入数据是列表或除字符串之外的任何序列,则返回一个列表,其元素是应用了给定函数的相同元素。

如果输入数据是字典或任何映射,则返回一个字典,其键相同,值是对元素应用给定函数的结果。

函数的第一个参数将传递输入数据中的各个元素,然后是argskwargs中的参数。

Parameters:
  • data (任何) – 任何对象。

  • fn (可调用) – 任何函数。

  • args – 传递给函数的额外参数和关键字参数。

  • kwargs – 传递给函数的额外参数和关键字参数。

示例

对张量字典应用ReLU函数:

>>> h = {k: torch.randn(3) for k in ['A', 'B', 'C']}
>>> h = apply_each(h, torch.nn.functional.relu)
>>> assert all((v >= 0).all() for v in h.values())