jax.numpy.promote_types#

jax.numpy.promote_types(a, b)[源]#

返回二元操作应将其参数转换成的类型。

`jax.numpy.promote_types()` 的 JAX 实现。有关 JAX 类型提升语义的详细信息,请参阅类型提升语义

参数:
  • a (DTypeLike) – 一个 numpy.dtype 或 dtype 说明符。

  • b (DTypeLike) – 一个 numpy.dtype 或 dtype 说明符。

返回:

一个 numpy.dtype 对象。

返回类型:

DType

示例

类型说明符可以是字符串、dtype 或标量类型,返回值始终是 dtype

>>> jnp.promote_types('int32', 'float32')  # strings
dtype('float32')
>>> jnp.promote_types(jnp.dtype('int32'), jnp.dtype('float32'))  # dtypes
dtype('float32')
>>> jnp.promote_types(jnp.int32, jnp.float32)  # scalar types
dtype('float32')

内置标量类型(intfloatcomplex)被视为弱类型,并且不会改变强类型对应物的位宽(详见类型提升语义

>>> jnp.promote_types('uint8', int)
dtype('uint8')
>>> jnp.promote_types('float16', float)
dtype('float16')

这与此函数的 NumPy 版本不同,NumPy 版本将内置标量类型视为等同于 64 位类型

>>> import numpy
>>> numpy.promote_types('uint8', int)
dtype('int64')
>>> numpy.promote_types('float16', float)
dtype('float64')