in bindings/python/src/lib.rs [359:371]
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error> {
match self {
Device::Cpu => "cpu".into_pyobject(py).map(|x| x.into_any()),
Device::Cuda(n) => format!("cuda:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Mps => "mps".into_pyobject(py).map(|x| x.into_any()),
Device::Npu(n) => format!("npu:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Xpu(n) => format!("xpu:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Xla(n) => format!("xla:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Mlu(n) => format!("mlu:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Hpu(n) => format!("hpu:{n}").into_pyobject(py).map(|x| x.into_any()),
Device::Anonymous(n) => n.into_pyobject(py).map(|x| x.into_any()),
}
}