jax.lax.bitcast_convert_type#

jax.lax.bitcast_convert_type(operand, new_dtype)[source]#

逐元素位转换。

此函数直接降低为 stablehlo.bitcast_convert 操作。

输出形状取决于输入和输出 dtype 的大小,逻辑如下

if new_dtype.itemsize == operand.dtype.itemsize:
  output_shape = operand.shape
if new_dtype.itemsize < operand.dtype.itemsize:
  output_shape = (*operand.shape, operand.dtype.itemsize // new_dtype.itemsize)
if new_dtype.itemsize > operand.dtype.itemsize:
  assert operand.shape[-1] * operand.dtype.itemsize == new_dtype.itemsize
  output_shape = operand.shape[:-1]
参数:
  • operand (ArrayLike) – 要转换的数组或标量值

  • new_dtype (DTypeLike) – 新类型。应为 NumPy 类型。

返回:

形状为 output_shape(见上文)和类型为 new_dtype 的数组,由与 operand 相同的位构造。

返回类型:

Array

参见