File size: 2,403 Bytes
f46c211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  "schema_version": 1,
  "model_name": "PoreFM-DNA prototype",
  "model_version": "0.1.0",
  "embedding_dim": 384,
  "chemistry": "dna_r10.4.1_e8.2_400bps",
  "molecule_type": "dna",
  "class_labels": [
    "A",
    "C",
    "G",
    "T",
    "5mC",
    "5hmC",
    "6mA"
  ],
  "scorer": "residual-effects",
  "artifacts": [
    {
      "file": "R10.4.1_prototype.pt",
      "size_bytes": 485654152,
      "file_sha256": "83b0fc7a56edd24280f768da367f5e267bc7435b674786184147f8da8087cd26",
      "role": "prototype",
      "format": "porefm_inference_bundle",
      "bundle_format_version": 1,
      "components": {
        "model_path": {
          "role": "backbone",
          "member": "artifacts/model_path.pt",
          "file_sha256": "c1ddd2db3fb79b30646d93832b927c6cb521f42c150329d1b91fb47e5dc597f2",
          "tensor_fingerprint": {
            "scheme": "porefm-tensor-content-v1",
            "sha256": "32d6bf030a601ba64fb6aab033d9053f5bb6ac67a081b519309cf6b2cb489f5c"
          }
        },
        "effect_model": {
          "role": "fitted_effects",
          "member": "artifacts/effect_model.pt",
          "file_sha256": "0e049b6f683e68032de499edf13863e10f8898b8f8eb0ecc11a1f1b77b783dc2",
          "tensor_fingerprint": {
            "scheme": "porefm-tensor-content-v1",
            "sha256": "ec772d7f18269b1e964415cc0a65a6f31b195d6c203f21214c8b4f50bb77edfd"
          }
        }
      }
    }
  ],
  "tensor_fingerprint_scheme": {
    "name": "porefm-tensor-content-v1",
    "algorithm": "sha256",
    "scope": "Stored tensors and numeric arrays, including their names, shapes and dtypes; scalar configuration and other metadata are excluded.",
    "encoding": [
      "Initialize SHA-256 with ASCII porefm-tensor-content-v1 followed by one zero byte.",
      "Recursively traverse dictionaries sorted by (type(key).__name__, str(key)), and lists/tuples in index order. Skip leaves other than torch.Tensor and numpy.ndarray.",
      "For each leaf, compact ASCII-escaped UTF-8 JSON encodes [key_path, dtype, shape, nbytes]. key_path is the list of dictionary keys and sequence indices. dtype is torch: plus str(tensor.dtype), or numpy: plus array.dtype.str.",
      "Append the JSON byte length as an unsigned 8-byte big-endian integer, the JSON bytes, then C-contiguous numerical bytes in little-endian representation. Tensor/array storage padding is excluded."
    ]
  }
}