jax.numpy.invert#

jax.numpy.invert(x, /)[原始碼]#

計算輸入的位元反轉。

JAX 實作的 numpy.invert()。此函數提供 JAX 陣列的 ~ 運算子實作。

參數:

x (ArrayLike) – 輸入陣列,必須是布林值或整數類型。

返回:

`x 相同形狀和 dtype 的陣列,位元已反轉。

返回類型:

Array

參見

範例

>>> 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)