jax.lax.pswapaxes

目录

jax.lax.pswapaxes#

jax.lax.pswapaxes(x, axis_name, axis, *, axis_index_groups=None)[源代码][源代码]#

将pmapped轴 axis_name 与未映射的轴 axis 交换。

如果 x 是一个 pytree,那么结果等同于将此函数映射到树中的每个叶子。

映射轴的组大小必须等于未映射轴的大小;也就是说,我们必须有 lax.psum(1, axis_name, axis_index_groups=axis_index_groups) == x.shape[axis]。默认情况下,当 axis_index_groups=None 时,这包括所有设备。

此函数是 all_to_all 的一个特殊情况,其中输入的 pmapped 轴被放置在输出中的 axis 位置。也就是说,它等同于 all_to_all(x, axis_name, axis, axis)

参数:
  • x – 带有映射轴名为 axis_name 的数组。

  • axis_name – 用于命名 pmapped 轴的可哈希 Python 对象(更多详情请参阅 jax.pmap() 文档)。

  • axis – 表示未映射的 x 轴,使用名称 axis_name 进行映射的整数。

  • axis_index_groups – 包含轴索引的可选列表(例如,对于大小为4的轴,[[0, 1], [2, 3]] 将对前两个和后两个副本运行 pswapaxes)。组必须完全覆盖所有轴索引一次,并且所有组的大小必须相同。

返回:

x 形状相同的数组。