tracel-ai/burn · error
float_select_assign with {other:?} update is not implemented
Error message
float_select_assign with {other:?} update is not implemented What it means
Raised inside the IndexingUpdateOp dispatch in float_select_assign: the op extracted from the update tensor (e.g. a Value op other than the handled Replace/Add/Mul set) has no float implementation on the ndarray backend. It signals an unimplemented backend capability rather than invalid user input — the selected update operation variant is simply not yet coded for float dtypes in this backend.
Source
Thrown at crates/burn-ndarray/src/ops/tensor.rs:314
execute_with_float_dtype!((tensor, value), |tensor, value| {
NdArrayMathOps::select_assign_replace(tensor, dim, 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| {
NdArrayMathOps::select_assign_mul(tensor, dim, idx_array, value)
})
}
)
}
other => {
unimplemented!("float_select_assign with {other:?} update is not implemented")
}
}
}
fn float_slice(tensor: FloatTensor<Self>, slices: &[burn_backend::Slice]) -> FloatTensor<Self> {
slice!(tensor, slices)
}
fn float_slice_assign(
tensor: FloatTensor<Self>,
slices: &[burn_backend::Slice],
value: FloatTensor<Self>,
) -> FloatTensor<Self> {
execute_with_float_dtype!((tensor, value), |tensor, value| {
NdArrayOps::slice_assign(tensor, slices, value)
})
}
View on GitHub (pinned to d16f7ba2ed)
Solutions
- Use a supported update op (e.g., Assign) for float select_assign
- Implement via slice assignment on the float tensor
- 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:314 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/c8027dccd7412ca5.
Report an issue: GitHub.