jax.lax.pmean#
- jax.lax.pmean(x, axis_name, *, axis_index_groups=None)[源代码]#
计算
x在 pmapped 轴axis_name上的 all-reduce 平均值。如果
x是一个 pytree,则结果等同于将此函数映射到树中的每个叶子。- 参数:
x – 具有名为
axis_name的映射轴的数组。axis_name – 用于命名 pmapped 轴的可哈希 Python 对象(有关更多详细信息,请参阅
jax.pmap()文档)。axis_index_groups – 可选的列表的列表,包含轴索引(例如,对于大小为 4 的轴,[[0, 1], [2, 3]] 将在前两个副本和最后两个副本上执行 pmean)。组必须恰好覆盖所有轴索引一次,并且在 TPU 上所有组的大小必须相同。
- 返回:
形状与
x相同的数组,表示沿轴axis_name的 all-reduce 平均值的结果。
例如,如果有 4 个 XLA 设备可用
>>> x = np.arange(4) >>> y = jax.pmap(lambda x: jax.lax.pmean(x, 'i'), axis_name='i')(x) >>> print(y) [1.5 1.5 1.5 1.5] >>> y = jax.pmap(lambda x: x / jax.lax.pmean(x, 'i'), axis_name='i')(x) >>> print(y) [0. 0.6666667 1.3333334 2. ]