jax.lax.dynamic_update_slice_in_dim#
- jax.lax.dynamic_update_slice_in_dim(operand, update, start_index, axis)[原始碼]#
圍繞
dynamic_update_slice()
的便利包裝函式,用於在單一axis
中更新切片。- 參數:
- 傳回:
更新後的陣列
- 傳回類型:
範例
>>> x = jnp.zeros(6) >>> y = jnp.ones(3) >>> dynamic_update_slice_in_dim(x, y, 2, axis=0) Array([0., 0., 1., 1., 1., 0.], dtype=float32)
如果更新切片太大而無法放入陣列,則會調整起始索引以使其fit
>>> dynamic_update_slice_in_dim(x, y, 3, axis=0) Array([0., 0., 0., 1., 1., 1.], dtype=float32) >>> dynamic_update_slice_in_dim(x, y, 5, axis=0) Array([0., 0., 0., 1., 1., 1.], dtype=float32)
以下是二維切片更新的範例
>>> x = jnp.zeros((4, 4)) >>> y = jnp.ones((2, 4)) >>> dynamic_update_slice_in_dim(x, y, 1, axis=0) Array([[0., 0., 0., 0.], [1., 1., 1., 1.], [1., 1., 1., 1.], [0., 0., 0., 0.]], dtype=float32)
請注意,
update
中額外軸的形狀不需要與operand
的相關維度相符>>> y = jnp.ones((2, 3)) >>> dynamic_update_slice_in_dim(x, y, 1, axis=0) Array([[0., 0., 0., 0.], [1., 1., 1., 0.], [1., 1., 1., 0.], [0., 0., 0., 0.]], dtype=float32)