tracel-ai/burn · error
float_scatter with {other:?} update is not implemented
Error message
float_scatter with {other:?} update is not implemented What it means
Unimplemented-operation guard in the ndarray backend's `float_scatter`: the requested `IndexingUpdateOp` (`other`) for scattering into float tensors is not implemented; only the handled variants (e.g., Set/Assign/Add) are supported.
Source
Thrown at crates/burn-ndarray/src/ops/tensor.rs:223
|idx_array: SharedArray<IntElem>| -> NdArrayTensor {
execute_with_float_dtype!((tensor, value), |tensor, value| {
NdArrayOps::scatter_assign(dim, tensor, idx_array, value)
})
}
)
}
burn_backend::tensor::IndexingUpdateOp::Mul => {
execute_with_int_dtype!(
indices,
IntElem,
|idx_array: SharedArray<IntElem>| -> NdArrayTensor {
execute_with_float_dtype!((tensor, value), |tensor, value| {
NdArrayOps::scatter_mul(dim, tensor, idx_array, value)
})
}
)
}
other => unimplemented!("float_scatter with {other:?} update is not implemented"),
}
}
fn float_scatter_nd(
data: FloatTensor<Self>,
indices: NdArrayTensor,
values: FloatTensor<Self>,
reduction: burn_backend::tensor::IndexingUpdateOp,
) -> FloatTensor<Self> {
execute_with_int_dtype!(
indices,
IntElem,
|idx_array: SharedArray<IntElem>| -> NdArrayTensor {
execute_with_float_dtype!((data, values), |data, values| NdArrayOps::scatter_nd(
data, idx_array, values, reduction
))
}
)View on GitHub (pinned to d16f7ba2ed)
Solutions
- Use a supported update op for float scatter
- Compose the operation from gather/scatter_assign primitives
- Add the missing match arm in burn-ndarray's tensor ops
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/burn-ndarray/src/ops/tensor.rs:223 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tracel-ai/burn@d16f7ba2ed (2026-09-05).
Data as JSON: /api/errors/0328222a0a06990e.
Report an issue: GitHub.