jax.numpy.invert#
- jax.numpy.invert(x, /)[source]#
计算输入的按位取反。
JAX 对
numpy.invert()
的实现。此函数为 JAX 数组提供了~
运算符的实现。- 参数:
x (ArrayLike) – 输入数组,必须是布尔类型或整数类型。
- 返回:
一个与
`x
具有相同形状和数据类型,并且位已反转的数组。- 返回类型:
另请参阅
jax.numpy.bitwise_invert()
: 此函数的 Array API 别名。jax.numpy.logical_not()
: 将输入转换为布尔值后取反。
示例
>>> x = jnp.arange(5, dtype='uint8') >>> print(x) [0 1 2 3 4] >>> print(jnp.invert(x)) [255 254 253 252 251]
此函数实现了 JAX 数组的一元
~
运算符>>> print(~x) [255 254 253 252 251]
invert()
对输入进行按位操作,因此通过显示其按位表示可以更清楚地理解其输出的含义。>>> with jnp.printoptions(formatter={'int': lambda x: format(x, '#010b')}): ... print(f"{x = }") ... print(f"{~x = }") x = Array([0b00000000, 0b00000001, 0b00000010, 0b00000011, 0b00000100], dtype=uint8) ~x = Array([0b11111111, 0b11111110, 0b11111101, 0b11111100, 0b11111011], dtype=uint8)
对于布尔输入,
invert()
等同于logical_not()
>>> x = jnp.array([True, False, True, True, False]) >>> jnp.invert(x) Array([False, True, False, False, True], dtype=bool)