tracel-ai/burn · error
todo!("Quantization not supported yet")
Error message
todo!("Quantization not supported yet") What it means
The fusion backend's tr_execute (crates/burn-fusion/src/ops/transaction.rs:21) resolves each read tensor to its client representation, but for read_qfloats it maps every element to todo!("Quantization not supported yet"). The fusion server has no quantized-tensor handling, so any fused transaction containing a quantized read panics.
Source
Thrown at crates/burn-fusion/src/ops/transaction.rs:21
ops::{TransactionOps, TransactionPrimitive},
};
use crate::{Fusion, FusionBackend};
impl<B: FusionBackend> TransactionOps<Fusion<B>> for Fusion<B> {
async fn tr_execute(
transaction: TransactionPrimitive<Self>,
) -> Result<burn_backend::ops::TransactionPrimitiveData, ExecutionError> {
B::tr_execute(TransactionPrimitive::new(
transaction
.read_floats
.into_iter()
.map(|t| t.client.clone().resolve_tensor_float::<B>(t))
.collect(),
transaction
.read_qfloats
.into_iter()
.map(|_t| todo!("Quantization not supported yet"))
.collect(),
transaction
.read_ints
.into_iter()
.map(|t| t.client.clone().resolve_tensor_int::<B>(t))
.collect(),
transaction
.read_bools
.into_iter()
.map(|t| t.client.clone().resolve_tensor_bool::<B>(t))
.collect(),
))
.await
}
}
View on GitHub (pinned to d16f7ba2ed)
Solutions
- Do not include quantized tensors in fusion transactions; convert them to float tensors (dequantize) before building the transaction.
- Perform quantized reads individually, outside of TransactionPrimitive.
- Check the fusion backend's feature matrix for quantization support before adopting quantized ops.
Defensive patterns
Strategy: validation
Validate before calling
assert!(transaction.read_qfloats.is_empty(), "fusion backend does not support quantized reads in transactions");
Prevention
- Keep quantized tensors out of fused transactions on the fusion backend.
- Prefer float representations for batched reads under fusion.
- Track upstream fusion quantization support before adopting quantized layers.
When it happens
Trigger: Executing a transaction (tr_execute) on the fusion backend where transaction.read_qfloats contains at least one QuantizedTensor handle.
Common situations: Running a model with quantized weights/layers under the fusion (JIT) backend and batching reads via a transaction; quantization works through normal ops but not the fused transaction path.
Related errors
- unimplemented!()
- Can't format yet
- Not yet implemented for iteration
- lookup quantization is not supported for iteration
- Not yet supported
AI-assisted analysis of tracel-ai/burn@d16f7ba2ed (2026-09-05).
Data as JSON: /api/errors/460dd0d378116128.
Report an issue: GitHub.