in safetensors/src/tensor.rs [1036:1056]
fn test_serialization_fp4() {
let data: Vec<u8> = vec![0u8];
let shape = vec![1, 2];
let attn_0 = TensorView::new(Dtype::F4, shape, &data).unwrap();
let metadata: HashMap<String, TensorView> =
[("attn.0".to_string(), attn_0)].into_iter().collect();
let out = serialize(&metadata, None).unwrap();
assert_eq!(
out,
[
64, 0, 0, 0, 0, 0, 0, 0, 123, 34, 97, 116, 116, 110, 46, 48, 34, 58, 123, 34, 100,
116, 121, 112, 101, 34, 58, 34, 70, 52, 34, 44, 34, 115, 104, 97, 112, 101, 34, 58,
91, 49, 44, 50, 93, 44, 34, 100, 97, 116, 97, 95, 111, 102, 102, 115, 101, 116,
115, 34, 58, 91, 48, 44, 49, 93, 125, 125, 32, 32, 32, 32, 0
]
);
let parsed = SafeTensors::deserialize(&out).unwrap();
let tensors: HashMap<_, _> = parsed.tensors().into_iter().collect();
assert_eq!(tensors, metadata);
}