jax.numpy.r_#
- jax.numpy.r_ = <jax._src.numpy.index_tricks.RClass 对象>#
沿第一个轴连接切片、标量和类数组对象。
LAX 后端实现
numpy.r_。另请参阅
jnp.c_:沿最后一个轴连接切片、标量和类数组对象。示例
以
[start:stop:step]形式传递切片会生成jnp.arange对象>>> jnp.r_[-1:5:1, 0, 0, jnp.array([1,2,3])] Array([-1, 0, 1, 2, 3, 4, 0, 0, 1, 2, 3], dtype=int32)
将
step设置为虚数值将创建一个jnp.linspace对象,该对象包含右端点>>> jnp.r_[-1:1:6j, 0, jnp.array([1,2,3])] Array([-1. , -0.6, -0.2, 0.2, 0.6, 1. , 0. , 1. , 2. , 3. ], dtype=float32)
使用形式为
"axis,dims,trans1d"的字符串指令作为第一个参数,以指定连接轴、最小维度数以及升级数组的原始维度在结果数组的形状元组中的位置>>> jnp.r_['0,2', [1,2,3], [4,5,6]] # concatenate along first axis, 2D output Array([[1, 2, 3], [4, 5, 6]], dtype=int32)
>>> jnp.r_['0,2,0', [1,2,3], [4,5,6]] # push last input axis to the front Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
对于
trans1d的负值,会将最后一个轴向形状元组的开头偏移>>> jnp.r_['0,2,-2', [1,2,3], [4,5,6]] Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
使用特殊指令
"r"或"c"作为扁平输入的第一个参数,分别创建一个带有额外行轴或列轴的数组>>> jnp.r_['r',[1,2,3], [4,5,6]] Array([[1, 2, 3, 4, 5, 6]], dtype=int32)
>>> jnp.r_['c',[1,2,3], [4,5,6]] Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
对于更高维度的输入(
dim >= 2),"r" 和 "c" 指令都产生相同的结果。