Add calibrated Base93 production-v3 export under 5 MB with decoders and visual validation
Browse files- .gitattributes +9 -0
- README.md +4 -0
- SHA256SUMS.json +2 -2
- quantized/base93-v3/README.md +188 -0
- quantized/base93-v3/SHA256SUMS.json +30 -0
- quantized/base93-v3/base93_codec.py +149 -0
- quantized/base93-v3/calibration.json +345 -0
- quantized/base93-v3/config.json +7 -0
- quantized/base93-v3/decode_base93.js +57 -0
- quantized/base93-v3/decoded_tensor_hashes.json +378 -0
- quantized/base93-v3/decoder_verification.json +1 -0
- quantized/base93-v3/evaluate.py +62 -0
- quantized/base93-v3/evaluation.json +916 -0
- quantized/base93-v3/evaluation/comparison_01.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_02.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_03.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_04.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_05.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_06.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_07.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_08.jpg +3 -0
- quantized/base93-v3/evaluation/comparison_09.jpg +3 -0
- quantized/base93-v3/export_base93.py +17 -0
- quantized/base93-v3/image_manifest.json +489 -0
- quantized/base93-v3/inference.py +111 -0
- quantized/base93-v3/manifest.json +0 -0
- quantized/base93-v3/nara_sources.json +50 -0
- quantized/base93-v3/precision_plan.json +946 -0
- quantized/base93-v3/requirements.txt +7 -0
- quantized/base93-v3/semantic_model.py +94 -0
- quantized/base93-v3/verify_decoders.js +18 -0
- quantized/base93-v3/weights_base93.txt +0 -0
- quantized/mini-unet-colorizer-v3-base93.zip +3 -0
.gitattributes
CHANGED
|
@@ -338,3 +338,12 @@ experiments/final-20260929/v3_resolution_2.jpg filter=lfs diff=lfs merge=lfs -te
|
|
| 338 |
experiments/final-20260929/v3_resolution_3.jpg filter=lfs diff=lfs merge=lfs -text
|
| 339 |
experiments/final-20260929/v3_resolution_4.jpg filter=lfs diff=lfs merge=lfs -text
|
| 340 |
reports/FINAL_PALETTE_REVIEW.jpg filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 338 |
experiments/final-20260929/v3_resolution_3.jpg filter=lfs diff=lfs merge=lfs -text
|
| 339 |
experiments/final-20260929/v3_resolution_4.jpg filter=lfs diff=lfs merge=lfs -text
|
| 340 |
reports/FINAL_PALETTE_REVIEW.jpg filter=lfs diff=lfs merge=lfs -text
|
| 341 |
+
quantized/base93-v3/evaluation/comparison_01.jpg filter=lfs diff=lfs merge=lfs -text
|
| 342 |
+
quantized/base93-v3/evaluation/comparison_02.jpg filter=lfs diff=lfs merge=lfs -text
|
| 343 |
+
quantized/base93-v3/evaluation/comparison_03.jpg filter=lfs diff=lfs merge=lfs -text
|
| 344 |
+
quantized/base93-v3/evaluation/comparison_04.jpg filter=lfs diff=lfs merge=lfs -text
|
| 345 |
+
quantized/base93-v3/evaluation/comparison_05.jpg filter=lfs diff=lfs merge=lfs -text
|
| 346 |
+
quantized/base93-v3/evaluation/comparison_06.jpg filter=lfs diff=lfs merge=lfs -text
|
| 347 |
+
quantized/base93-v3/evaluation/comparison_07.jpg filter=lfs diff=lfs merge=lfs -text
|
| 348 |
+
quantized/base93-v3/evaluation/comparison_08.jpg filter=lfs diff=lfs merge=lfs -text
|
| 349 |
+
quantized/base93-v3/evaluation/comparison_09.jpg filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -34,6 +34,10 @@ Historical research documents have moved to `reports/history/`. See [the report
|
|
| 34 |
- `app.py` and `requirements-space.txt`: the tested Gradio / ZeroGPU application.
|
| 35 |
- `RELEASE_REPORT.md`, `QA.json` and `SHA256SUMS.json`: selection evidence, runtime checks and file hashes.
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
## Use
|
| 38 |
|
| 39 |
Download this repository, then:
|
|
|
|
| 34 |
- `app.py` and `requirements-space.txt`: the tested Gradio / ZeroGPU application.
|
| 35 |
- `RELEASE_REPORT.md`, `QA.json` and `SHA256SUMS.json`: selection evidence, runtime checks and file hashes.
|
| 36 |
|
| 37 |
+
## Scratch Base93 export
|
| 38 |
+
|
| 39 |
+
The complete production v3 model is also available as a [Base93 text export](quantized/base93-v3/README.md), including its MobileNetV3 encoder. [weights_base93.txt](quantized/base93-v3/weights_base93.txt) is 4,946,819 bytes, or **4,949,484 bytes as a JSON string including escaping**. It uses one character for 87.94% of learned parameters and two for sensitive weights. Python and JavaScript decoders, format documentation and output-preservation evaluation are included. This is lossy storage quantisation; the FP32 checkpoint remains the standard runtime release.
|
| 40 |
+
|
| 41 |
## Use
|
| 42 |
|
| 43 |
Download this repository, then:
|
SHA256SUMS.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
"DEPLOYMENT.md": "1ecb94969482959a65e40a6fbd41c985dd3c9df1ff23ad7b13c4f22545c8782b",
|
| 3 |
"PIPELINE_EVAL.json": "595be88704d580c01a3c4dd642409b3dc5dd25e86ca1c7eb40a696605f181a19",
|
| 4 |
"QA.json": "b249b1d49045e31b0bf85f9e01515b91a72c4dd973963751c30d14272d262b90",
|
| 5 |
-
"README.md": "
|
| 6 |
"RELEASE_MANIFEST.json": "872eebfb322c8990b5e6ac493e4e4068b87f8daac0ddf219b8b55299514ca03c",
|
| 7 |
"RELEASE_REPORT.md": "69677ec5e13f5c1249f59b01c31ed1b0f1588bddc216bce9167b5d31423a5574",
|
| 8 |
"app.py": "9fbfae85bc7e9976aee57229cb0825a05b836e31177a4288b2b1efebb075e58b",
|
|
@@ -32,4 +32,4 @@
|
|
| 32 |
"semantic_model.py": "b019358cbcaa214743cbd244d20eb6e59eeff0ab5264093ec0927be8529b25a2",
|
| 33 |
"training/final_config.json": "39502272a7bbc05c1ad15e70de4e93550b53cdd9fbea399192d1b400311205dd",
|
| 34 |
"training/train_final.py": "ba42f07649c05cfcf8d7a6cee78088a4ed0838f4e09e24227cf9fb3509b34b5b"
|
| 35 |
-
}
|
|
|
|
| 2 |
"DEPLOYMENT.md": "1ecb94969482959a65e40a6fbd41c985dd3c9df1ff23ad7b13c4f22545c8782b",
|
| 3 |
"PIPELINE_EVAL.json": "595be88704d580c01a3c4dd642409b3dc5dd25e86ca1c7eb40a696605f181a19",
|
| 4 |
"QA.json": "b249b1d49045e31b0bf85f9e01515b91a72c4dd973963751c30d14272d262b90",
|
| 5 |
+
"README.md": "095c7f3043d428711825105a1c29ff715c3b4e2dcd57445695ad40a3ecfb7023",
|
| 6 |
"RELEASE_MANIFEST.json": "872eebfb322c8990b5e6ac493e4e4068b87f8daac0ddf219b8b55299514ca03c",
|
| 7 |
"RELEASE_REPORT.md": "69677ec5e13f5c1249f59b01c31ed1b0f1588bddc216bce9167b5d31423a5574",
|
| 8 |
"app.py": "9fbfae85bc7e9976aee57229cb0825a05b836e31177a4288b2b1efebb075e58b",
|
|
|
|
| 32 |
"semantic_model.py": "b019358cbcaa214743cbd244d20eb6e59eeff0ab5264093ec0927be8529b25a2",
|
| 33 |
"training/final_config.json": "39502272a7bbc05c1ad15e70de4e93550b53cdd9fbea399192d1b400311205dd",
|
| 34 |
"training/train_final.py": "ba42f07649c05cfcf8d7a6cee78088a4ed0838f4e09e24227cf9fb3509b34b5b"
|
| 35 |
+
}
|
quantized/base93-v3/README.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Production v3 — Base93 export
|
| 2 |
+
|
| 3 |
+
This is the complete 3,994,676-parameter production v3 colouriser, including its MobileNetV3 encoder, quantised to the supplied Scratch Base93 alphabet. It uses 93-level weights for most parameters and 8,649-level weights for sensitive tensors. It is a lossy weight export; the original production checkpoint remains available.
|
| 4 |
+
|
| 5 |
+
## Download and size
|
| 6 |
+
|
| 7 |
+
Use **`weights_base93.txt`**. It is self-contained: weights, scales, normalization buffers, tensor names/shapes, model configuration and source identity are all inside it. `manifest.json` is an optional, easier-to-read index.
|
| 8 |
+
|
| 9 |
+
| Item | Exact size/count |
|
| 10 |
+
|---|---:|
|
| 11 |
+
| Text file, ASCII / UTF-8 | **4,946,819 bytes** |
|
| 12 |
+
| Entire file as one JSON string, including escaping and outer quotes | **4,949,484 bytes** |
|
| 13 |
+
| Remaining below 5,000,000 bytes | **50,516 bytes** |
|
| 14 |
+
| Learned parameters using one character | 3,512,832 (87.94%) |
|
| 15 |
+
| Learned parameters using two characters | 481,844 (12.06%) |
|
| 16 |
+
| Total learned parameters | **3,994,676** |
|
| 17 |
+
| Lossless non-learned buffer values | 24,452 |
|
| 18 |
+
| Group scale values | 66,253 |
|
| 19 |
+
|
| 20 |
+
The text contains 2,637 backslash separators and 26 quotation marks; each becomes two bytes in JSON. Everything else is one byte. The byte budget includes this overhead, scales and metadata. Other Scratch project blocks/assets/variables add to the project size. Store the text as a single string; splitting every character into a JSON list adds substantial overhead.
|
| 21 |
+
|
| 22 |
+
SHA256 of `weights_base93.txt`:
|
| 23 |
+
|
| 24 |
+
```
|
| 25 |
+
e9ef164317e7832781753585c5533c781ce134527dd71385ef490cf5cf5fe9ba
|
| 26 |
+
```
|
| 27 |
+
|
| 28 |
+
Source: [`User-2468/mini-unet-colorizer` at `1a9eb8af2754ad2329a24cfe50d388cb559441d0`](https://huggingface.co/User-2468/mini-unet-colorizer/tree/1a9eb8af2754ad2329a24cfe50d388cb559441d0).
|
| 29 |
+
Source `model.safetensors` SHA256: `ec1f27d74533adc83f7ab3639a091fc4d8738a434dafc7d172c7873c28a9e715`.
|
| 30 |
+
|
| 31 |
+
## Validation
|
| 32 |
+
|
| 33 |
+
Precision allocation used 16 calibration photographs. Layer sensitivity was measured against the FP32 model's own output, followed by conditional refinement of the allocation. All candidate selection used those calibration images. No model training or cloud GPU job was required.
|
| 34 |
+
|
| 35 |
+
The final file was then decoded and compared with FP32 on **64 separate COCO photographs and six historical photographs**. Both used the production pipeline: 256-pixel maximum network side, smoothing radius 8, saturation 1, original output resolution.
|
| 36 |
+
|
| 37 |
+
| Evaluation set | Mean RGB absolute difference (0–255) | Mean image PSNR | Largest image mean difference |
|
| 38 |
+
|---|---:|---:|---:|
|
| 39 |
+
| COCO holdout, 64 images | 0.784 | 47.61 dB | 2.988 |
|
| 40 |
+
| Historical, 6 images | 0.990 | 45.82 dB | 1.483 |
|
| 41 |
+
| Additional 512-size check, 4 images | 0.746 | 47.71 dB | 1.644 |
|
| 42 |
+
|
| 43 |
+
These are **differences from the original model**, not accuracy against unknowable original colours. Means give each image equal weight. The COCO subset was held out from quantisation calibration; no claim is made about overlap with upstream pretraining.
|
| 44 |
+
|
| 45 |
+
All 70 default-size image pairs were visually reviewed in `evaluation/comparison_01.jpg` through `comparison_09.jpg`. They retain the original model's overall palette, boundaries and existing limitations. Some warmth/saturation shifts are visible: the largest measured change is the desk scene `coco_1056.jpg` (35.86 dB PSNR, 2.99/255 image MAE). Field/court images also show small shifts. This export does not fix the original model's muted colouring, warm casts or pre-existing colour bleeding.
|
| 46 |
+
|
| 47 |
+
Both independent decoders reconstruct **bitwise-identical values in all 376 tensors**, with strict PyTorch loading. JSON string round-trip, deterministic re-export and alpha preservation were verified. Quantisation statistics, per-image results, input identities and decoded tensor hashes are included.
|
| 48 |
+
|
| 49 |
+
## Python use
|
| 50 |
+
|
| 51 |
+
From this directory:
|
| 52 |
+
|
| 53 |
+
```bash
|
| 54 |
+
pip install -r requirements.txt
|
| 55 |
+
python base93_codec.py weights_base93.txt --output decoded_model
|
| 56 |
+
python inference.py input.jpg output.png --model decoded_model --device cpu
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
Or decode directly in memory:
|
| 60 |
+
|
| 61 |
+
```python
|
| 62 |
+
from PIL import Image
|
| 63 |
+
from base93_codec import load_model
|
| 64 |
+
from inference import colorize
|
| 65 |
+
|
| 66 |
+
model = load_model('weights_base93.txt', device='cpu')
|
| 67 |
+
colorize(model, Image.open('input.jpg')).save('output.png')
|
| 68 |
+
```
|
| 69 |
+
|
| 70 |
+
The decoder restores floating-point weights for the existing architecture. The export reduces stored weight size; it does not itself provide an integer inference engine or a Scratch implementation of the neural network. Decoded weights occupy approximately 16 MB as float32, plus runtime activations and overhead.
|
| 71 |
+
|
| 72 |
+
## JavaScript use
|
| 73 |
+
|
| 74 |
+
`decode_base93.js` has no package dependencies and can run in Node or a browser script. Node:
|
| 75 |
+
|
| 76 |
+
```javascript
|
| 77 |
+
const fs = require('fs');
|
| 78 |
+
const {decodeBase93} = require('./decode_base93');
|
| 79 |
+
const model = decodeBase93(fs.readFileSync('weights_base93.txt', 'ascii'));
|
| 80 |
+
// model.tensors[name] = {shape, kind, values}
|
| 81 |
+
// Float32Array for floating tensors; BigInt array for integer buffers.
|
| 82 |
+
```
|
| 83 |
+
|
| 84 |
+
Run `node verify_decoders.js` to check every decoded tensor against the included Python hashes. This decoder supplies tensors, not an inference runtime.
|
| 85 |
+
|
| 86 |
+
## Exact alphabet
|
| 87 |
+
|
| 88 |
+
There is a **space as the first character** of the line below:
|
| 89 |
+
|
| 90 |
+
```text
|
| 91 |
+
!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
| 92 |
+
```
|
| 93 |
+
|
| 94 |
+
Indices run from 0 to 92. This is ASCII 32–126 excluding double quote (34) and backslash (92). Space is digit 0. Preserve whitespace and case; never trim, normalize case, wrap lines or add a byte-order mark. The file contains no newline.
|
| 95 |
+
|
| 96 |
+
Scratch's ordinary string equality/list lookup does not distinguish uppercase and lowercase reliably for this alphabet. Reuse the case-sensitive costume-name lookup mechanism from the supplied reference project, or an equivalent verified method. A possible dedicated lookup sprite has exactly 93 costumes named `digit + "_"`, ordered by the alphabet; select that exact costume name and use costume number minus one. If using the supplied project's existing costumes, follow its existing index routine rather than assuming those costumes are alphabetically ordered.
|
| 97 |
+
|
| 98 |
+
## B93Q1 format and decoding
|
| 99 |
+
|
| 100 |
+
This new container uses the user's alphabet, but **its numerical mapping is symmetric and group-scaled**. The older reference notes' min/max affine decoder is not compatible with B93Q1.
|
| 101 |
+
|
| 102 |
+
A single literal backslash separates fields. Every record ends with a separator, including the last record. Empty fields are meaningful and must be retained when splitting.
|
| 103 |
+
|
| 104 |
+
The first five fields are:
|
| 105 |
+
|
| 106 |
+
1. Literal `B93Q1`.
|
| 107 |
+
2. The exact 93-character alphabet.
|
| 108 |
+
3. Compact JSON model configuration.
|
| 109 |
+
4. Compact JSON source provenance.
|
| 110 |
+
5. Decimal tensor count (`376`).
|
| 111 |
+
|
| 112 |
+
Each tensor then has seven fields:
|
| 113 |
+
|
| 114 |
+
1. Tensor name.
|
| 115 |
+
2. Shape as comma-separated decimal dimensions; empty means scalar.
|
| 116 |
+
3. Kind: `q`, `f` or `i`.
|
| 117 |
+
4. Characters per stored value.
|
| 118 |
+
5. Group size.
|
| 119 |
+
6. Scale payload (empty for `f` and `i`).
|
| 120 |
+
7. Value payload.
|
| 121 |
+
|
| 122 |
+
The manifest's offsets are zero-based character/byte offsets into the unescaped text. Add one when addressing Scratch's `letter () of ()`. JSON backslash escapes are not part of the decoded string and must not be counted in those offsets.
|
| 123 |
+
|
| 124 |
+
### Learned weights (`q`)
|
| 125 |
+
|
| 126 |
+
Every learned weight has exactly one or two Base93 digits. Two-digit numbers are most-significant digit first:
|
| 127 |
+
|
| 128 |
+
```
|
| 129 |
+
code = digit0 # one character, 0..92
|
| 130 |
+
code = digit0 * 93 + digit1 # two characters, 0..8648
|
| 131 |
+
center = 46 # one character
|
| 132 |
+
center = 4324 # two characters
|
| 133 |
+
weight = (code - center) * scale
|
| 134 |
+
```
|
| 135 |
+
|
| 136 |
+
The digit `O` represents the central zero code; two-character zero is `OO`. Each group has its own scale, stored losslessly as described below. Python and JavaScript cast the reconstructed weight to float32. Scratch number arithmetic can use the product directly.
|
| 137 |
+
|
| 138 |
+
Flatten tensors in PyTorch C order. Convolution shapes are `[out_channels, in_channels/groups, height, width]`; linear shapes are `[out_features, in_features]`.
|
| 139 |
+
|
| 140 |
+
For rank two or higher, treat the first dimension as rows, and the product of all remaining dimensions as row width. For a one-dimensional tensor, use one row. **Groups restart at every row.** A final short group has no padding stored in the value payload.
|
| 141 |
+
|
| 142 |
+
```
|
| 143 |
+
groups_per_row = ceil(row_width / group_size)
|
| 144 |
+
scale_index = row * groups_per_row + floor(column / group_size)
|
| 145 |
+
```
|
| 146 |
+
|
| 147 |
+
Indices here are zero-based. Read that scale at `scale_index * 5` in the scale field. Different tensors can have different group sizes; use their own field/manifest value.
|
| 148 |
+
|
| 149 |
+
Encoder rule, for reproducibility: scale = group maximum absolute weight / center; all-zero groups use scale 1. Round weight/scale to nearest integer with ties to even, clamp to [-center, center], and add center.
|
| 150 |
+
|
| 151 |
+
### Scales and non-learned float buffers (`f`)
|
| 152 |
+
|
| 153 |
+
Each scale and each non-learned float buffer value uses **five Base93 digits carrying its IEEE754 float32 bit pattern exactly**. They are metadata/statistics, not extra learned weights. There is no hidden high-precision learned tensor.
|
| 154 |
+
|
| 155 |
+
Fold five digits into the unsigned integer `u` using repeated `u = u * 93 + digit`. Reject `u > 4294967295`. Convert its bit pattern to a float32. In Scratch arithmetic:
|
| 156 |
+
|
| 157 |
+
```
|
| 158 |
+
s = floor(u / 2147483648)
|
| 159 |
+
e = floor(u / 8388608) mod 256
|
| 160 |
+
m = u mod 8388608
|
| 161 |
+
|
| 162 |
+
if e = 0: value = (-1)^s * m * 2^(-149)
|
| 163 |
+
otherwise: value = (-1)^s * (1 + m / 8388608) * 2^(e - 127)
|
| 164 |
+
```
|
| 165 |
+
|
| 166 |
+
Exponent 255 is invalid for this file. Scratch's numeric range can exactly represent all intermediate unsigned 32-bit integers. `f` records have precision 5, group size 0 and an empty scale field.
|
| 167 |
+
|
| 168 |
+
### Integer buffers (`i`)
|
| 169 |
+
|
| 170 |
+
These are the 46 non-learned BatchNorm batch counters. Their payload is decimal integer text (comma separated if an array), precision/group size are zero, and the scale field is empty. They are not needed for inference but are retained for a complete strict-loadable state dictionary.
|
| 171 |
+
|
| 172 |
+
## Reproducing the export
|
| 173 |
+
|
| 174 |
+
Download `model.safetensors` and `config.json` from the immutable source revision into `reference_fp32/`, then:
|
| 175 |
+
|
| 176 |
+
```bash
|
| 177 |
+
python export_base93.py --source reference_fp32 --output recreated
|
| 178 |
+
```
|
| 179 |
+
|
| 180 |
+
The included precision plan reproduces the exact published text file and SHA256. The script refuses a different source checkpoint. `SHA256SUMS.json` covers the release files.
|
| 181 |
+
|
| 182 |
+
To repeat the evaluation, reconstruct the inputs identified by `image_manifest.json` and `nara_sources.json`, then run:
|
| 183 |
+
|
| 184 |
+
```bash
|
| 185 |
+
python evaluate.py --reference reference_fp32 --images images --archives archive_inputs
|
| 186 |
+
```
|
| 187 |
+
|
| 188 |
+
`image_manifest.json` identifies the pinned COCO parquet file and zero-based row positions within that file. Rows 1000–1015 were calibration; rows 1016–1079 were evaluation. Historical source URLs and hashes are included. Full source photographs are not bundled. See the parent model card for architecture, training provenance, intended use and licensing.
|
quantized/base93-v3/SHA256SUMS.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"README.md": "4429db2319c60f14755dec54e75f6639cf7519382a39f81c2b807d3611fffe09",
|
| 3 |
+
"base93_codec.py": "94fe46fdf3ef8b4de08d827f11b74523302006811c1ccce4108c077fd3461c4d",
|
| 4 |
+
"calibration.json": "8f8c36e84213af8ebd1bafffd01d778db794919eee5ec63d141d0cee8dda7d15",
|
| 5 |
+
"config.json": "eaeb49b39f9116bfed0d954e81852dc93476298752787dba88a63c0eec97ccec",
|
| 6 |
+
"decode_base93.js": "1e32a0b933b537a532a8b8208961409ceff89e5025f65b912bb954dbdd44a3be",
|
| 7 |
+
"decoded_tensor_hashes.json": "cd6990dc7dc13d2fcf8b7f6fe3b84b711f9476eb7df349b967f189d4012a6d94",
|
| 8 |
+
"decoder_verification.json": "7296de6d2cd2cee6638fcd7baeba958b5a029c9671fbd37d0abc2c8fd4ad311a",
|
| 9 |
+
"evaluate.py": "49f36056d5eef2b56a3dec68bb48e33c188fe5c8b0d503591ce998b8cb4694a8",
|
| 10 |
+
"evaluation/comparison_01.jpg": "70b0b3fb40480d78209d64f49dd071ee8ac462eabda19631bc1d4764751d5e99",
|
| 11 |
+
"evaluation/comparison_02.jpg": "652c6ba4cdc316629560540843e69f096d2322cbcfc33a3d3ea359581e95fd75",
|
| 12 |
+
"evaluation/comparison_03.jpg": "febd0388b105ea2dd9a8a67141f49395dd1747aa3eb50d9f5a204e9d2aa8b962",
|
| 13 |
+
"evaluation/comparison_04.jpg": "138cea89e388ab9e61911b3ad4ea9a48a4c5c92bf5332c274d5aa6f04178e726",
|
| 14 |
+
"evaluation/comparison_05.jpg": "317ca03858dac621207bf27e0b5654e09742d9f55fdec254e3a833b8f7eaef78",
|
| 15 |
+
"evaluation/comparison_06.jpg": "39635897df1ae9510df4134453d8426171216bdb524e816ee153a9604e7b90d7",
|
| 16 |
+
"evaluation/comparison_07.jpg": "776610302d5100e0c0a3257ede57fe4b3282df72f33c5b707e5cc1893a485b10",
|
| 17 |
+
"evaluation/comparison_08.jpg": "9175a154e983bfe237c113d63c1251f48a1496da82d84dfd346834d01588e4a8",
|
| 18 |
+
"evaluation/comparison_09.jpg": "6fa6d60a4c89af0d6fc961580f7fe822e7472a6d1898ef9387b4eb8fb5b3fdd4",
|
| 19 |
+
"evaluation.json": "34e04e511d9fe0fe078a4df9f5255a71b9615ba4851b49238388d4981a62e1cc",
|
| 20 |
+
"export_base93.py": "087509aae648a84884b8c5311cbd4ae260dbab25ec87bbed303af81a6401c14f",
|
| 21 |
+
"image_manifest.json": "da415c18cf91fd355a4a9df2672114a2da1eaae009e71cfaeab5a78ad1ce0e9d",
|
| 22 |
+
"inference.py": "0ac1f382205b42cef0afaa9173017fa660e6859194a65a61b9b9052c437cd476",
|
| 23 |
+
"manifest.json": "e61f34d64192335a56be492c36dacf5b0593a125872d622db33528c19d51b5ef",
|
| 24 |
+
"nara_sources.json": "d4551fb5857161ecd72be4f315dc9e643e33700827e7fcf51e90049a6ef0f6ba",
|
| 25 |
+
"precision_plan.json": "8dab370f2fe7077faf90d4dc7ecd30e241b485a5c762837be4ab1c95d173a03a",
|
| 26 |
+
"requirements.txt": "c855eb70020dc89f71fd38e44a0be2cfb80f2fe3d442d5ba45c91398c336f83f",
|
| 27 |
+
"semantic_model.py": "b019358cbcaa214743cbd244d20eb6e59eeff0ab5264093ec0927be8529b25a2",
|
| 28 |
+
"verify_decoders.js": "e30655fa26627ce046a8efff5802c896d7ffd55d031cd3c2050b5bf04a1ec0dd",
|
| 29 |
+
"weights_base93.txt": "e9ef164317e7832781753585c5533c781ce134527dd71385ef490cf5cf5fe9ba"
|
| 30 |
+
}
|
quantized/base93-v3/base93_codec.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""B93Q1 self-contained, JSON-safe mixed-precision model storage.
|
| 2 |
+
|
| 3 |
+
93-level and 8649-level symmetric weight quantisation. Buffers and quantisation
|
| 4 |
+
scales are lossless IEEE float32 carried as five Base93 digits. The alphabet is
|
| 5 |
+
the user's exact Scratch alphabet. This is weight storage, not an integer-only
|
| 6 |
+
inference engine.
|
| 7 |
+
"""
|
| 8 |
+
from pathlib import Path
|
| 9 |
+
import json
|
| 10 |
+
import numpy as np
|
| 11 |
+
|
| 12 |
+
ALPHABET=''.join(chr(i) for i in range(32,127) if i not in (34,92))
|
| 13 |
+
LUT=np.frombuffer(ALPHABET.encode('ascii'),dtype=np.uint8)
|
| 14 |
+
INV=np.full(128,-1,dtype=np.int16)
|
| 15 |
+
INV[LUT]=np.arange(93,dtype=np.int16)
|
| 16 |
+
SEP='\\'
|
| 17 |
+
MAGIC='B93Q1'
|
| 18 |
+
|
| 19 |
+
def encode_uint(values,digits):
|
| 20 |
+
values=np.asarray(values,dtype=np.uint64).reshape(-1).copy()
|
| 21 |
+
if np.any(values>=93**digits):raise ValueError('Integer does not fit')
|
| 22 |
+
out=np.empty((len(values),digits),dtype=np.uint8)
|
| 23 |
+
for i in range(digits-1,-1,-1):
|
| 24 |
+
out[:,i]=LUT[values%93];values//=93
|
| 25 |
+
return out.tobytes().decode('ascii')
|
| 26 |
+
|
| 27 |
+
def decode_uint(text,digits):
|
| 28 |
+
if digits<1 or len(text)%digits:raise ValueError('Invalid digit count')
|
| 29 |
+
chars=np.frombuffer(text.encode('ascii'),dtype=np.uint8)
|
| 30 |
+
if np.any(chars>=128):raise ValueError('Non-ASCII digit')
|
| 31 |
+
codes=INV[chars]
|
| 32 |
+
if np.any(codes<0):raise ValueError('Invalid Base93 digit')
|
| 33 |
+
codes=codes.reshape(-1,digits).astype(np.uint64)
|
| 34 |
+
values=np.zeros(len(codes),dtype=np.uint64)
|
| 35 |
+
for i in range(digits):values=values*93+codes[:,i]
|
| 36 |
+
return values
|
| 37 |
+
|
| 38 |
+
def pack_f32(values):
|
| 39 |
+
a=np.asarray(values,dtype='<f4').reshape(-1)
|
| 40 |
+
if not np.isfinite(a).all():raise ValueError('Non-finite float')
|
| 41 |
+
return encode_uint(a.view('<u4'),5)
|
| 42 |
+
|
| 43 |
+
def unpack_f32(text):
|
| 44 |
+
bits=decode_uint(text,5)
|
| 45 |
+
if np.any(bits>0xffffffff):raise ValueError('Invalid float32 bits')
|
| 46 |
+
a=bits.astype('<u4').view('<f4')
|
| 47 |
+
if not np.isfinite(a).all():raise ValueError('Non-finite float')
|
| 48 |
+
return a
|
| 49 |
+
|
| 50 |
+
def row_shape(shape):
|
| 51 |
+
return (shape[0],int(np.prod(shape[1:]))) if len(shape)>=2 else (1,int(np.prod(shape)))
|
| 52 |
+
|
| 53 |
+
def quantize(values,digits,group_size):
|
| 54 |
+
a=np.asarray(values,dtype=np.float32)
|
| 55 |
+
if digits not in (1,2):raise ValueError('Weight precision must be 1 or 2')
|
| 56 |
+
rows,width=row_shape(a.shape);groups=(width+group_size-1)//group_size
|
| 57 |
+
padded=np.zeros((rows,groups*group_size),dtype=np.float32)
|
| 58 |
+
padded[:,:width]=a.reshape(rows,width)
|
| 59 |
+
blocks=padded.reshape(rows,groups,group_size)
|
| 60 |
+
qmax=(93**digits-1)//2
|
| 61 |
+
scales=np.max(np.abs(blocks),axis=-1)/qmax
|
| 62 |
+
scales=np.where(scales>0,scales,1).astype(np.float32)
|
| 63 |
+
q=np.rint(blocks/scales[...,None]).clip(-qmax,qmax).astype(np.int32)
|
| 64 |
+
codes=(q.reshape(rows,-1)[:,:width]+qmax).astype(np.uint16).reshape(-1)
|
| 65 |
+
restored=(q*scales[...,None]).reshape(rows,-1)[:,:width].reshape(a.shape).astype(np.float32)
|
| 66 |
+
return restored,scales.reshape(-1),codes
|
| 67 |
+
|
| 68 |
+
def dequantize(codes,scales,shape,digits,group_size):
|
| 69 |
+
rows,width=row_shape(shape);groups=(width+group_size-1)//group_size
|
| 70 |
+
if len(codes)!=rows*width or len(scales)!=rows*groups:raise ValueError('Payload shape mismatch')
|
| 71 |
+
scales=np.asarray(scales).reshape(rows,groups)
|
| 72 |
+
per_value=scales[:,np.arange(width)//group_size]
|
| 73 |
+
qmax=(93**digits-1)//2
|
| 74 |
+
signed=np.asarray(codes,dtype=np.int32).reshape(rows,width)-qmax
|
| 75 |
+
return (signed*per_value).astype(np.float32).reshape(shape)
|
| 76 |
+
|
| 77 |
+
def encode_state(state,parameter_names,config,provenance,plan):
|
| 78 |
+
fields=[MAGIC,ALPHABET,json.dumps(config,separators=(',',':'),ensure_ascii=True),
|
| 79 |
+
json.dumps(provenance,separators=(',',':'),ensure_ascii=True),str(len(state))]
|
| 80 |
+
records=[];position=sum(len(f)+1 for f in fields)
|
| 81 |
+
for name,t in state.items():
|
| 82 |
+
a=t.detach().cpu().numpy() if hasattr(t,'detach') else np.asarray(t)
|
| 83 |
+
shape=list(a.shape);start=position
|
| 84 |
+
if name in parameter_names:
|
| 85 |
+
digits,group_size=plan[name]
|
| 86 |
+
restored,scales,codes=quantize(a,digits,group_size)
|
| 87 |
+
kind='q';scale_text=pack_f32(scales);payload=encode_uint(codes,digits)
|
| 88 |
+
elif a.dtype.kind=='f':
|
| 89 |
+
kind='f';digits=5;group_size=0;scale_text='';payload=pack_f32(a)
|
| 90 |
+
elif a.dtype.kind in 'iu':
|
| 91 |
+
kind='i';digits=0;group_size=0;scale_text='';payload=','.join(map(str,a.reshape(-1)))
|
| 92 |
+
else:raise ValueError('Unsupported dtype '+str(a.dtype))
|
| 93 |
+
head=[name,','.join(map(str,shape)),kind,str(digits),str(group_size)]
|
| 94 |
+
scale_start=position+sum(len(f)+1 for f in head)
|
| 95 |
+
payload_start=scale_start+len(scale_text)+1
|
| 96 |
+
record=head+[scale_text,payload]
|
| 97 |
+
if any(SEP in x for x in record):raise ValueError('Separator inside field')
|
| 98 |
+
fields+=record;position+=sum(len(f)+1 for f in record)
|
| 99 |
+
records.append({'name':name,'shape':shape,'kind':kind,'chars_per_value':digits,
|
| 100 |
+
'group_size':group_size,'num_values':int(a.size),'scale_offset':scale_start,
|
| 101 |
+
'scale_count':len(scale_text)//5,'payload_offset':payload_start,
|
| 102 |
+
'payload_length':len(payload),'record_offset':start})
|
| 103 |
+
text=SEP.join(fields)+SEP
|
| 104 |
+
manifest={'format':MAGIC,'alphabet':ALPHABET,'offset_base':0,'config':config,
|
| 105 |
+
'provenance':provenance,'text_bytes':len(text.encode('ascii')),
|
| 106 |
+
'json_string_bytes':len(json.dumps(text,ensure_ascii=True).encode('ascii')),
|
| 107 |
+
'tensors':records}
|
| 108 |
+
return text,manifest
|
| 109 |
+
|
| 110 |
+
def decode_state(text):
|
| 111 |
+
fields=text.split(SEP)
|
| 112 |
+
if len(fields)<6 or fields[0]!=MAGIC or fields[1]!=ALPHABET or fields[-1]!='':
|
| 113 |
+
raise ValueError('Invalid B93Q1 header or terminator')
|
| 114 |
+
config=json.loads(fields[2]);provenance=json.loads(fields[3]);n=int(fields[4])
|
| 115 |
+
if len(fields)!=6+n*7:raise ValueError('Incorrect field count')
|
| 116 |
+
result={}
|
| 117 |
+
for i in range(n):
|
| 118 |
+
name,shape,kind,digits,group_size,scale_text,payload=fields[5+i*7:12+i*7]
|
| 119 |
+
if name in result:raise ValueError('Duplicate tensor')
|
| 120 |
+
shape=tuple(int(x) for x in shape.split(',')) if shape else ()
|
| 121 |
+
digits=int(digits);group_size=int(group_size)
|
| 122 |
+
if kind=='q':
|
| 123 |
+
if digits not in (1,2) or group_size<1:raise ValueError('Invalid quantisation')
|
| 124 |
+
a=dequantize(decode_uint(payload,digits),unpack_f32(scale_text),shape,digits,group_size)
|
| 125 |
+
elif kind=='f':a=unpack_f32(payload).reshape(shape)
|
| 126 |
+
elif kind=='i':a=np.array([int(x) for x in payload.split(',')],dtype=np.int64).reshape(shape)
|
| 127 |
+
else:raise ValueError('Unknown tensor encoding')
|
| 128 |
+
result[name]=a
|
| 129 |
+
return result,config,provenance
|
| 130 |
+
|
| 131 |
+
def load_model(path,device='cpu'):
|
| 132 |
+
import torch
|
| 133 |
+
from semantic_model import SemanticColorizer
|
| 134 |
+
state,config,_=decode_state(Path(path).read_text(encoding='ascii'))
|
| 135 |
+
model=SemanticColorizer(**{k:config[k] for k in ('head','width','queries')})
|
| 136 |
+
model.load_state_dict({k:torch.from_numpy(v.copy()) for k,v in state.items()},strict=True)
|
| 137 |
+
return model.to(device).eval()
|
| 138 |
+
|
| 139 |
+
if __name__=='__main__':
|
| 140 |
+
import argparse
|
| 141 |
+
p=argparse.ArgumentParser();p.add_argument('text');p.add_argument('--output',default='decoded_model')
|
| 142 |
+
args=p.parse_args()
|
| 143 |
+
from safetensors.torch import save_file
|
| 144 |
+
import torch
|
| 145 |
+
arrays,config,provenance=decode_state(Path(args.text).read_text(encoding='ascii'))
|
| 146 |
+
dest=Path(args.output);dest.mkdir(exist_ok=True,parents=True)
|
| 147 |
+
save_file({k:torch.from_numpy(v.copy()) for k,v in arrays.items()},str(dest/'model.safetensors'))
|
| 148 |
+
(dest/'config.json').write_text(json.dumps(config,indent=2))
|
| 149 |
+
print('Decoded',len(arrays),'tensors to',dest)
|
quantized/base93-v3/calibration.json
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"winner": {
|
| 3 |
+
"name": "compact_scales_refine8",
|
| 4 |
+
"mse": 0.8620080910623074,
|
| 5 |
+
"ab_mae": 0.6051067784428596,
|
| 6 |
+
"json_string_bytes": 4949484,
|
| 7 |
+
"upgrade": [
|
| 8 |
+
"encoder.9.block.0.0.weight",
|
| 9 |
+
1,
|
| 10 |
+
32
|
| 11 |
+
],
|
| 12 |
+
"calibration_subset_gain": 0.02464677393436432
|
| 13 |
+
},
|
| 14 |
+
"candidates": [
|
| 15 |
+
{
|
| 16 |
+
"name": "group32",
|
| 17 |
+
"group_size": 32,
|
| 18 |
+
"json_string_bytes": 4828067,
|
| 19 |
+
"mse": 18.104391634464264,
|
| 20 |
+
"ab_mae": 3.1036613807082176
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"name": "group64",
|
| 24 |
+
"group_size": 64,
|
| 25 |
+
"json_string_bytes": 4526797,
|
| 26 |
+
"mse": 23.284358993172646,
|
| 27 |
+
"ab_mae": 3.433950934559107
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"name": "group128",
|
| 31 |
+
"group_size": 128,
|
| 32 |
+
"json_string_bytes": 4380453,
|
| 33 |
+
"mse": 26.695782251656055,
|
| 34 |
+
"ab_mae": 3.64544490352273
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"name": "group256",
|
| 38 |
+
"group_size": 256,
|
| 39 |
+
"json_string_bytes": 4308573,
|
| 40 |
+
"mse": 23.869282491505146,
|
| 41 |
+
"ab_mae": 3.38033676892519
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "group64_improvement_per_byte",
|
| 45 |
+
"group_size": 64,
|
| 46 |
+
"json_string_bytes": 4934229,
|
| 47 |
+
"promoted_tensors": [
|
| 48 |
+
"encoder.1.block.0.0.weight",
|
| 49 |
+
"encoder.0.0.weight",
|
| 50 |
+
"encoder.2.block.1.0.weight",
|
| 51 |
+
"encoder.2.block.0.0.weight",
|
| 52 |
+
"encoder.2.block.2.0.weight",
|
| 53 |
+
"encoder.3.block.0.0.weight",
|
| 54 |
+
"encoder.4.block.0.0.weight",
|
| 55 |
+
"encoder.5.block.1.0.weight",
|
| 56 |
+
"encoder.9.block.2.0.weight",
|
| 57 |
+
"encoder.7.block.1.0.weight",
|
| 58 |
+
"encoder.8.block.2.0.weight",
|
| 59 |
+
"encoder.7.block.2.0.weight",
|
| 60 |
+
"encoder.4.block.1.0.weight",
|
| 61 |
+
"encoder.12.block.1.0.weight",
|
| 62 |
+
"encoder.6.block.2.fc2.weight",
|
| 63 |
+
"encoder.6.block.1.0.weight",
|
| 64 |
+
"encoder.5.block.2.fc2.weight",
|
| 65 |
+
"encoder.10.block.0.0.weight",
|
| 66 |
+
"encoder.15.block.1.0.weight",
|
| 67 |
+
"lateral.0.weight",
|
| 68 |
+
"encoder.6.block.0.0.weight",
|
| 69 |
+
"encoder.8.block.0.0.weight",
|
| 70 |
+
"encoder.12.block.3.0.weight",
|
| 71 |
+
"encoder.16.0.weight",
|
| 72 |
+
"encoder.5.block.2.fc1.weight",
|
| 73 |
+
"encoder.9.block.0.0.weight",
|
| 74 |
+
"query_blocks.0.self_attn.out_proj.weight",
|
| 75 |
+
"residual.weight"
|
| 76 |
+
],
|
| 77 |
+
"mse": 2.5121002276428044,
|
| 78 |
+
"ab_mae": 1.0109938234090805
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"name": "group64_mse_improvement",
|
| 82 |
+
"group_size": 64,
|
| 83 |
+
"json_string_bytes": 4949909,
|
| 84 |
+
"promoted_tensors": [
|
| 85 |
+
"encoder.1.block.0.0.weight",
|
| 86 |
+
"encoder.9.block.2.0.weight",
|
| 87 |
+
"encoder.0.0.weight",
|
| 88 |
+
"encoder.2.block.2.0.weight",
|
| 89 |
+
"encoder.8.block.2.0.weight",
|
| 90 |
+
"encoder.7.block.2.0.weight",
|
| 91 |
+
"encoder.2.block.0.0.weight",
|
| 92 |
+
"encoder.3.block.0.0.weight",
|
| 93 |
+
"encoder.5.block.1.0.weight",
|
| 94 |
+
"encoder.2.block.1.0.weight",
|
| 95 |
+
"encoder.4.block.0.0.weight",
|
| 96 |
+
"encoder.16.0.weight",
|
| 97 |
+
"encoder.15.block.3.0.weight",
|
| 98 |
+
"encoder.15.block.1.0.weight",
|
| 99 |
+
"encoder.7.block.1.0.weight",
|
| 100 |
+
"encoder.10.block.0.0.weight",
|
| 101 |
+
"encoder.12.block.1.0.weight",
|
| 102 |
+
"encoder.6.block.2.fc2.weight",
|
| 103 |
+
"encoder.4.block.1.0.weight",
|
| 104 |
+
"encoder.6.block.1.0.weight",
|
| 105 |
+
"residual.weight"
|
| 106 |
+
],
|
| 107 |
+
"mse": 2.493656279752031,
|
| 108 |
+
"ab_mae": 1.0097566042095423
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"name": "group256_improvement_per_byte",
|
| 112 |
+
"group_size": 256,
|
| 113 |
+
"json_string_bytes": 4944941,
|
| 114 |
+
"promoted_tensors": [
|
| 115 |
+
"encoder.1.block.0.0.weight",
|
| 116 |
+
"encoder.0.0.weight",
|
| 117 |
+
"encoder.2.block.0.0.weight",
|
| 118 |
+
"encoder.2.block.2.0.weight",
|
| 119 |
+
"encoder.3.block.0.0.weight",
|
| 120 |
+
"encoder.4.block.0.0.weight",
|
| 121 |
+
"encoder.5.block.1.0.weight",
|
| 122 |
+
"encoder.4.block.1.0.weight",
|
| 123 |
+
"encoder.9.block.2.0.weight",
|
| 124 |
+
"encoder.6.block.3.0.weight",
|
| 125 |
+
"encoder.7.block.1.0.weight",
|
| 126 |
+
"encoder.10.block.2.0.weight",
|
| 127 |
+
"encoder.6.block.2.fc2.weight",
|
| 128 |
+
"encoder.8.block.2.0.weight",
|
| 129 |
+
"encoder.12.block.1.0.weight",
|
| 130 |
+
"lateral.0.weight",
|
| 131 |
+
"encoder.5.block.2.fc2.weight",
|
| 132 |
+
"encoder.6.block.0.0.weight",
|
| 133 |
+
"encoder.6.block.2.fc1.weight",
|
| 134 |
+
"encoder.5.block.2.fc1.weight",
|
| 135 |
+
"encoder.15.block.1.0.weight",
|
| 136 |
+
"encoder.11.block.0.0.weight",
|
| 137 |
+
"encoder.9.block.0.0.weight",
|
| 138 |
+
"encoder.11.block.3.0.weight",
|
| 139 |
+
"encoder.12.block.3.0.weight",
|
| 140 |
+
"palette.0.weight",
|
| 141 |
+
"encoder.11.block.2.fc2.weight",
|
| 142 |
+
"encoder.14.block.2.fc2.weight",
|
| 143 |
+
"query_blocks.0.ff.2.weight"
|
| 144 |
+
],
|
| 145 |
+
"mse": 2.986875234171748,
|
| 146 |
+
"ab_mae": 1.0296866707503796
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"name": "group256_mse_improvement",
|
| 150 |
+
"group_size": 256,
|
| 151 |
+
"json_string_bytes": 4948653,
|
| 152 |
+
"promoted_tensors": [
|
| 153 |
+
"encoder.1.block.0.0.weight",
|
| 154 |
+
"encoder.0.0.weight",
|
| 155 |
+
"encoder.2.block.0.0.weight",
|
| 156 |
+
"encoder.9.block.2.0.weight",
|
| 157 |
+
"encoder.2.block.2.0.weight",
|
| 158 |
+
"encoder.3.block.0.0.weight",
|
| 159 |
+
"encoder.10.block.2.0.weight",
|
| 160 |
+
"encoder.4.block.0.0.weight",
|
| 161 |
+
"encoder.14.block.2.fc2.weight",
|
| 162 |
+
"encoder.5.block.1.0.weight",
|
| 163 |
+
"encoder.12.block.3.0.weight",
|
| 164 |
+
"encoder.8.block.2.0.weight",
|
| 165 |
+
"encoder.11.block.3.0.weight",
|
| 166 |
+
"encoder.6.block.3.0.weight",
|
| 167 |
+
"encoder.11.block.0.0.weight",
|
| 168 |
+
"encoder.4.block.1.0.weight",
|
| 169 |
+
"encoder.15.block.1.0.weight",
|
| 170 |
+
"encoder.6.block.2.fc2.weight",
|
| 171 |
+
"encoder.12.block.0.0.weight",
|
| 172 |
+
"encoder.11.block.2.fc2.weight",
|
| 173 |
+
"encoder.12.block.1.0.weight",
|
| 174 |
+
"encoder.7.block.1.0.weight",
|
| 175 |
+
"encoder.5.block.2.fc2.weight",
|
| 176 |
+
"encoder.6.block.0.0.weight",
|
| 177 |
+
"lateral.0.weight"
|
| 178 |
+
],
|
| 179 |
+
"mse": 3.097676645964384,
|
| 180 |
+
"ab_mae": 1.044976083561778
|
| 181 |
+
}
|
| 182 |
+
],
|
| 183 |
+
"calibration_images": 16,
|
| 184 |
+
"parameter_count": 3994676,
|
| 185 |
+
"one_character_parameters": 3512832,
|
| 186 |
+
"two_character_parameters": 481844,
|
| 187 |
+
"text_bytes": 4946819,
|
| 188 |
+
"json_string_bytes": 4949484,
|
| 189 |
+
"sha256": "e9ef164317e7832781753585c5533c781ce134527dd71385ef490cf5cf5fe9ba",
|
| 190 |
+
"roundtrip_exact_to_quantized_state": true,
|
| 191 |
+
"initial_calibration": {
|
| 192 |
+
"name": "group64_mse_improvement",
|
| 193 |
+
"group_size": 64,
|
| 194 |
+
"json_string_bytes": 4949909,
|
| 195 |
+
"promoted_tensors": [
|
| 196 |
+
"encoder.1.block.0.0.weight",
|
| 197 |
+
"encoder.9.block.2.0.weight",
|
| 198 |
+
"encoder.0.0.weight",
|
| 199 |
+
"encoder.2.block.2.0.weight",
|
| 200 |
+
"encoder.8.block.2.0.weight",
|
| 201 |
+
"encoder.7.block.2.0.weight",
|
| 202 |
+
"encoder.2.block.0.0.weight",
|
| 203 |
+
"encoder.3.block.0.0.weight",
|
| 204 |
+
"encoder.5.block.1.0.weight",
|
| 205 |
+
"encoder.2.block.1.0.weight",
|
| 206 |
+
"encoder.4.block.0.0.weight",
|
| 207 |
+
"encoder.16.0.weight",
|
| 208 |
+
"encoder.15.block.3.0.weight",
|
| 209 |
+
"encoder.15.block.1.0.weight",
|
| 210 |
+
"encoder.7.block.1.0.weight",
|
| 211 |
+
"encoder.10.block.0.0.weight",
|
| 212 |
+
"encoder.12.block.1.0.weight",
|
| 213 |
+
"encoder.6.block.2.fc2.weight",
|
| 214 |
+
"encoder.4.block.1.0.weight",
|
| 215 |
+
"encoder.6.block.1.0.weight",
|
| 216 |
+
"residual.weight"
|
| 217 |
+
],
|
| 218 |
+
"mse": 2.493656279752031,
|
| 219 |
+
"ab_mae": 1.0097566042095423
|
| 220 |
+
},
|
| 221 |
+
"refinement_candidates": [
|
| 222 |
+
{
|
| 223 |
+
"name": "initial",
|
| 224 |
+
"mse": 2.493656279752031,
|
| 225 |
+
"ab_mae": 1.0097566042095423,
|
| 226 |
+
"json_string_bytes": 4949909
|
| 227 |
+
},
|
| 228 |
+
{
|
| 229 |
+
"name": "group32_ratio",
|
| 230 |
+
"mse": 2.6975236465223134,
|
| 231 |
+
"ab_mae": 1.008376962505281,
|
| 232 |
+
"json_string_bytes": 4946379
|
| 233 |
+
},
|
| 234 |
+
{
|
| 235 |
+
"name": "group32_gain",
|
| 236 |
+
"mse": 2.730722404550761,
|
| 237 |
+
"ab_mae": 1.0121978027746081,
|
| 238 |
+
"json_string_bytes": 4948299
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"name": "compact_scales",
|
| 242 |
+
"mse": 2.4792887738440186,
|
| 243 |
+
"ab_mae": 1.0056030582636595,
|
| 244 |
+
"json_string_bytes": 4925590
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"name": "compact_scales_refine1",
|
| 248 |
+
"mse": 1.7108433779794723,
|
| 249 |
+
"ab_mae": 0.8537794416770339,
|
| 250 |
+
"json_string_bytes": 4926239,
|
| 251 |
+
"upgrade": [
|
| 252 |
+
"encoder.3.block.1.0.weight",
|
| 253 |
+
2,
|
| 254 |
+
256
|
| 255 |
+
],
|
| 256 |
+
"calibration_subset_gain": 1.1435979176312685
|
| 257 |
+
},
|
| 258 |
+
{
|
| 259 |
+
"name": "compact_scales_refine2",
|
| 260 |
+
"mse": 1.2327836034819484,
|
| 261 |
+
"ab_mae": 0.7801378443837166,
|
| 262 |
+
"json_string_bytes": 4927848,
|
| 263 |
+
"upgrade": [
|
| 264 |
+
"encoder.3.block.2.0.weight",
|
| 265 |
+
2,
|
| 266 |
+
256
|
| 267 |
+
],
|
| 268 |
+
"calibration_subset_gain": 0.5322280931286514
|
| 269 |
+
},
|
| 270 |
+
{
|
| 271 |
+
"name": "compact_scales_refine3",
|
| 272 |
+
"mse": 1.4706268422305584,
|
| 273 |
+
"ab_mae": 0.7599028032273054,
|
| 274 |
+
"json_string_bytes": 4928105,
|
| 275 |
+
"upgrade": [
|
| 276 |
+
"encoder.1.block.1.0.weight",
|
| 277 |
+
2,
|
| 278 |
+
256
|
| 279 |
+
],
|
| 280 |
+
"calibration_subset_gain": 0.43586447555571795
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"name": "compact_scales_refine4",
|
| 284 |
+
"mse": 0.9462693016976118,
|
| 285 |
+
"ab_mae": 0.6352904969826341,
|
| 286 |
+
"json_string_bytes": 4942026,
|
| 287 |
+
"upgrade": [
|
| 288 |
+
"encoder.10.block.2.0.weight",
|
| 289 |
+
2,
|
| 290 |
+
256
|
| 291 |
+
],
|
| 292 |
+
"calibration_subset_gain": 0.21737225074321032
|
| 293 |
+
},
|
| 294 |
+
{
|
| 295 |
+
"name": "compact_scales_refine5",
|
| 296 |
+
"mse": 0.9175981525331736,
|
| 297 |
+
"ab_mae": 0.6283372240141034,
|
| 298 |
+
"json_string_bytes": 4943226,
|
| 299 |
+
"upgrade": [
|
| 300 |
+
"encoder.7.block.0.0.weight",
|
| 301 |
+
1,
|
| 302 |
+
32
|
| 303 |
+
],
|
| 304 |
+
"calibration_subset_gain": 0.12710145954042673
|
| 305 |
+
},
|
| 306 |
+
{
|
| 307 |
+
"name": "compact_scales_refine6",
|
| 308 |
+
"mse": 0.9215640546754003,
|
| 309 |
+
"ab_mae": 0.6188815664499998,
|
| 310 |
+
"json_string_bytes": 4944883,
|
| 311 |
+
"upgrade": [
|
| 312 |
+
"encoder.9.block.1.0.weight",
|
| 313 |
+
2,
|
| 314 |
+
256
|
| 315 |
+
],
|
| 316 |
+
"calibration_subset_gain": 0.08233188092708588
|
| 317 |
+
},
|
| 318 |
+
{
|
| 319 |
+
"name": "compact_scales_refine7",
|
| 320 |
+
"mse": 0.8778455322608352,
|
| 321 |
+
"ab_mae": 0.6111623970791698,
|
| 322 |
+
"json_string_bytes": 4948564,
|
| 323 |
+
"upgrade": [
|
| 324 |
+
"encoder.5.block.2.fc1.weight",
|
| 325 |
+
2,
|
| 326 |
+
256
|
| 327 |
+
],
|
| 328 |
+
"calibration_subset_gain": 0.040941715240478516
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"name": "compact_scales_refine8",
|
| 332 |
+
"mse": 0.8620080910623074,
|
| 333 |
+
"ab_mae": 0.6051067784428596,
|
| 334 |
+
"json_string_bytes": 4949484,
|
| 335 |
+
"upgrade": [
|
| 336 |
+
"encoder.9.block.0.0.weight",
|
| 337 |
+
1,
|
| 338 |
+
32
|
| 339 |
+
],
|
| 340 |
+
"calibration_subset_gain": 0.02464677393436432
|
| 341 |
+
}
|
| 342 |
+
],
|
| 343 |
+
"initial_search_seconds": 43.03861778800001,
|
| 344 |
+
"selection_note": "All precision selection used 16 calibration inputs (8-image subset for sensitivity ranking); final candidate chosen by mean squared ab error on all 16. Holdout was opened only after final selection."
|
| 345 |
+
}
|
quantized/base93-v3/config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architecture": "SemanticColorizer",
|
| 3 |
+
"head": "palette",
|
| 4 |
+
"width": 128,
|
| 5 |
+
"queries": 16,
|
| 6 |
+
"format_version": 1
|
| 7 |
+
}
|
quantized/base93-v3/decode_base93.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* B93Q1 reference decoder. Node and browser compatible; no ML runtime needed. */
|
| 2 |
+
const ALPHABET = Array.from({length:95},(_,i)=>String.fromCharCode(i+32)).filter(c=>c.charCodeAt(0)!==34&&c.charCodeAt(0)!==92).join('');
|
| 3 |
+
function digit(c) {
|
| 4 |
+
const i=ALPHABET.indexOf(c);
|
| 5 |
+
if(i<0)throw new Error('Invalid Base93 digit');
|
| 6 |
+
return i;
|
| 7 |
+
}
|
| 8 |
+
function uintAt(s,p,n) {
|
| 9 |
+
let x=0;
|
| 10 |
+
for(let i=0;i<n;i++)x=x*93+digit(s[p+i]);
|
| 11 |
+
return x;
|
| 12 |
+
}
|
| 13 |
+
const floatBytes=new DataView(new ArrayBuffer(4));
|
| 14 |
+
function floatAt(s,p) {
|
| 15 |
+
const bits=uintAt(s,p,5);
|
| 16 |
+
if(bits>4294967295)throw new Error('Invalid float bits');
|
| 17 |
+
floatBytes.setUint32(0,bits,false);
|
| 18 |
+
const value=floatBytes.getFloat32(0,false);
|
| 19 |
+
if(!Number.isFinite(value))throw new Error('Invalid float');
|
| 20 |
+
return value;
|
| 21 |
+
}
|
| 22 |
+
function decodeBase93(text) {
|
| 23 |
+
const f=text.split('\\');
|
| 24 |
+
if(f[0]!=='B93Q1'||f[1]!==ALPHABET||f[f.length-1]!=='')throw new Error('Invalid header');
|
| 25 |
+
const config=JSON.parse(f[2]),provenance=JSON.parse(f[3]),n=Number(f[4]),tensors={};
|
| 26 |
+
if(f.length!==6+7*n)throw new Error('Invalid record count');
|
| 27 |
+
for(let t=0;t<n;t++) {
|
| 28 |
+
const [name,shapeText,kind,precision,groupText,scaleText,payload]=f.slice(5+7*t,12+7*t);
|
| 29 |
+
if(Object.hasOwn(tensors,name))throw new Error('Duplicate tensor');
|
| 30 |
+
const shape=shapeText===''?[]:shapeText.split(',').map(Number);
|
| 31 |
+
const count=shape.reduce((a,b)=>a*b,1),d=Number(precision),g=Number(groupText);
|
| 32 |
+
let values;
|
| 33 |
+
if(kind==='q') {
|
| 34 |
+
if(![1,2].includes(d)||g<1||payload.length!==count*d)throw new Error('Invalid quantized tensor');
|
| 35 |
+
const width=shape.length>=2?shape.slice(1).reduce((a,b)=>a*b,1):count;
|
| 36 |
+
const groups=Math.ceil(width/g),rows=count/width;
|
| 37 |
+
if(scaleText.length!==rows*groups*5)throw new Error('Invalid scales');
|
| 38 |
+
const scales=Float32Array.from({length:rows*groups},(_,i)=>floatAt(scaleText,5*i));
|
| 39 |
+
values=new Float32Array(count);
|
| 40 |
+
const center=(93**d-1)/2;
|
| 41 |
+
for(let i=0;i<count;i++) {
|
| 42 |
+
const row=Math.floor(i/width),column=i%width;
|
| 43 |
+
const si=row*groups+Math.floor(column/g);
|
| 44 |
+
values[i]=(uintAt(payload,i*d,d)-center)*scales[si];
|
| 45 |
+
}
|
| 46 |
+
} else if(kind==='f') {
|
| 47 |
+
if(payload.length!==count*5)throw new Error('Invalid float tensor');
|
| 48 |
+
values=Float32Array.from({length:count},(_,i)=>floatAt(payload,5*i));
|
| 49 |
+
} else if(kind==='i') {
|
| 50 |
+
values=payload.split(',').map(BigInt);
|
| 51 |
+
if(values.length!==count)throw new Error('Invalid integer tensor');
|
| 52 |
+
} else throw new Error('Invalid tensor kind');
|
| 53 |
+
tensors[name]={shape,kind,values};
|
| 54 |
+
}
|
| 55 |
+
return {config,provenance,tensors};
|
| 56 |
+
}
|
| 57 |
+
if(typeof module!=='undefined')module.exports={ALPHABET,decodeBase93};
|
quantized/base93-v3/decoded_tensor_hashes.json
ADDED
|
@@ -0,0 +1,378 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"queries": "8b3c544aebe22e525efd595f3658c50be9875d7cc0bba352b53499e507f939f3",
|
| 3 |
+
"rgb_mean": "d32aed199a5cd169c15313d055578913bc0b45eeffb1222dc36d113312762357",
|
| 4 |
+
"rgb_std": "6c289cec73b3e488e198b9c8e236edbbd1c22e7fce3e189dcb12b1ed87903a21",
|
| 5 |
+
"encoder.0.0.weight": "1c17881b452a641c04c9c2cd3fe2d2c2ede0988bd04151ef944ddbf018c3c119",
|
| 6 |
+
"encoder.0.1.weight": "a17ac726191cd0d2814fb21a6b1c43f195067c166dbc2b0965a23dea4a7fcdc9",
|
| 7 |
+
"encoder.0.1.bias": "e79f80706ed2362d19344c5e729e9adf767c77dd310e59f120305299939020a4",
|
| 8 |
+
"encoder.0.1.running_mean": "8f1b7aa591611866d13857968a5d6082f58bcda0dc179136c13b399dfaa0edd6",
|
| 9 |
+
"encoder.0.1.running_var": "31564e22a7defc8574e9cb0dc414d8c05340b0cfc177b2b0bf1f9a2145862683",
|
| 10 |
+
"encoder.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 11 |
+
"encoder.1.block.0.0.weight": "14b699aab013a35925c4ada814fdb30bb4ecb6b1461b9a7db60bb0974b0ea2dc",
|
| 12 |
+
"encoder.1.block.0.1.weight": "b49dc8a569ad886eaeb1cbae59fa8094e3697312a4275a26eae4c8492a6f9f1f",
|
| 13 |
+
"encoder.1.block.0.1.bias": "9983c9655a4f7748a840c74304e293f33ee399f289a2d4700a8d539fbba21435",
|
| 14 |
+
"encoder.1.block.0.1.running_mean": "93e9926605d53e343f6c63f924d5822c72ada2f87ad05555c071794ff960096f",
|
| 15 |
+
"encoder.1.block.0.1.running_var": "414d37d03947315a0f5956641e8b63b7a704d9267f2400ad846c16a9ba844c4e",
|
| 16 |
+
"encoder.1.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 17 |
+
"encoder.1.block.1.0.weight": "4e8afb7584b5c44b0193ddb6bc06fbb1791f4ff5ec6a8d16845e81e7715d436c",
|
| 18 |
+
"encoder.1.block.1.1.weight": "bbdff9a1e4f79dffff039cbb5bb05cbe1246d22314df8bc56fb4790bb7cbcf1f",
|
| 19 |
+
"encoder.1.block.1.1.bias": "6dfcf7ff97bb5495595525fac141616c80defd7a632a1c49e62bbd8335216d29",
|
| 20 |
+
"encoder.1.block.1.1.running_mean": "b327dc2f663b80b0518ae175e4c5ab5be229d62b10f91abf76a248eadefcd113",
|
| 21 |
+
"encoder.1.block.1.1.running_var": "0def88d83697a84e33f508f2f2dc11a27ae49fd09a367d5e807e9a06623c66e9",
|
| 22 |
+
"encoder.1.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 23 |
+
"encoder.2.block.0.0.weight": "00d5b67da7ec75b9e4029cb372b2c11d92b3997381b3bd68a301506dea7601f3",
|
| 24 |
+
"encoder.2.block.0.1.weight": "a929f61697fbeacc03247a57c83514fdce881d51014e55b51df364a8f6d162af",
|
| 25 |
+
"encoder.2.block.0.1.bias": "bf3330436bf0d62528d986ebfe776ca531e2dc0740955f9b0cab98533901d943",
|
| 26 |
+
"encoder.2.block.0.1.running_mean": "966287ed079b3b31badddc0e70e6ee0e9be841d7869a5096ac94ff2a8285870a",
|
| 27 |
+
"encoder.2.block.0.1.running_var": "f85d5a84a6cf03938579b02c97812b5c69c110e829dd979f4f80bd65e9dac953",
|
| 28 |
+
"encoder.2.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 29 |
+
"encoder.2.block.1.0.weight": "b5f2eef38dd7f49ce624b38a5e61c3c235902496c345acf753e8ee7bed66322e",
|
| 30 |
+
"encoder.2.block.1.1.weight": "cd88912e7317938cd86aeb937e0af86fa0c1343bc9a3e6ee3a9deae2159e4ca3",
|
| 31 |
+
"encoder.2.block.1.1.bias": "75da0df486c7a2f49f7da124d389720d1e44139f995098cffd5bdd5b39e0bace",
|
| 32 |
+
"encoder.2.block.1.1.running_mean": "adcf7eb89212bb0f4bec6e5994c50a6b610e084228fb8eeb24cd802a48f93ac1",
|
| 33 |
+
"encoder.2.block.1.1.running_var": "b0a8e744ce8578197ab20ebabdcb946afca8d7aade166e707a75de32061226c0",
|
| 34 |
+
"encoder.2.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 35 |
+
"encoder.2.block.2.0.weight": "d786b637dd9f796416d75d40bf2388b42f2c78e4913eea1e79eff43fa0aca79b",
|
| 36 |
+
"encoder.2.block.2.1.weight": "ffcdc83fd2afc39c8bc92d7e84c81c1a7f3e86603bb6783e8f23f33a830cb545",
|
| 37 |
+
"encoder.2.block.2.1.bias": "94496d4767c27e5220e8c751711dd2de5773364f24b6b95c4c7fd05764325e77",
|
| 38 |
+
"encoder.2.block.2.1.running_mean": "3a21468d93f73fd3cc49af38dcedaa022c506e976bbeea4cfc82288d2ff2abfa",
|
| 39 |
+
"encoder.2.block.2.1.running_var": "932c3cf2f66ff0db4ff9e31aa354c12faf94cee8b5f6ca53592c944fa0ace6f5",
|
| 40 |
+
"encoder.2.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 41 |
+
"encoder.3.block.0.0.weight": "9493ccaf88ef5b9715e22bd6ad43fd1aef1d241b9275d694f5005225f857f5de",
|
| 42 |
+
"encoder.3.block.0.1.weight": "dcaab764d380893c8449f587f4670d8e282fa09faade6b111bc7dedb4ce45610",
|
| 43 |
+
"encoder.3.block.0.1.bias": "f99508fdbc1f0b1b15b9e51a4c1cc815784e43ffe4d9d86dea3be628e56b3d60",
|
| 44 |
+
"encoder.3.block.0.1.running_mean": "aebaf66384fba9ef6d22813a3b03f69251f48a7c8aafc77eda5740e73955529b",
|
| 45 |
+
"encoder.3.block.0.1.running_var": "2c901ce34c523fe8a0a85ef896ff7dff49733a8acf88de0d583a30bd613e9324",
|
| 46 |
+
"encoder.3.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 47 |
+
"encoder.3.block.1.0.weight": "e8d9819046019d2eb3476af8d9dd3702a38395f9fb653b23e4bea1ba58608d65",
|
| 48 |
+
"encoder.3.block.1.1.weight": "f24c75c91e6e22b9316c1d58cd0d8a803f2e69dfd28bb7c1650b1faf5e8a62ce",
|
| 49 |
+
"encoder.3.block.1.1.bias": "a49bad9a8284e340e2b1befb2db36d3537fa5db26e4626bedbbd86608bb86946",
|
| 50 |
+
"encoder.3.block.1.1.running_mean": "c176be39e8479356e5e03a7635d5c0ebc92ff6535de87608e6f4315d6a50d82d",
|
| 51 |
+
"encoder.3.block.1.1.running_var": "6eebda27fdc5a3bde9f56e6aef121f6cac4d6fe87def941ba03a73459d926c91",
|
| 52 |
+
"encoder.3.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 53 |
+
"encoder.3.block.2.0.weight": "8cca058df06f1041325cb17da8b821268a2636f5eceec4eb87832a89e5050572",
|
| 54 |
+
"encoder.3.block.2.1.weight": "25705da5fd75fca74e832d45fe0c710708cccaf63a8165e69292878fad8dbfbc",
|
| 55 |
+
"encoder.3.block.2.1.bias": "924f4141ef30f7f0904c0baa54058e5536c2f53e96138c610f8c4124dcebadf9",
|
| 56 |
+
"encoder.3.block.2.1.running_mean": "ef9abc48a79c5a39dc9f306d51233410f093a344c25247d650f69ff874c075a0",
|
| 57 |
+
"encoder.3.block.2.1.running_var": "d082c1842d61aec7b1f29f5d3cc23e7536afcf07a8facbafd88b7df309bc7b12",
|
| 58 |
+
"encoder.3.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 59 |
+
"encoder.4.block.0.0.weight": "6e6bae6136b72336552d9c44fb54d3adc677f89d13aa56206f3afe03642743e5",
|
| 60 |
+
"encoder.4.block.0.1.weight": "4f69562e455b1955c862834c91df37c592afbdc7a63965919ef4dfb38d25c81e",
|
| 61 |
+
"encoder.4.block.0.1.bias": "244a3c1e283ef2719b76e61531be8a2b359c2dbc4f38c8cc25173848d6b1fcad",
|
| 62 |
+
"encoder.4.block.0.1.running_mean": "abded01cd0e1d23d5df7d632f8445bd6d494fbb7f8f9f9e3d79e25942bfe7f34",
|
| 63 |
+
"encoder.4.block.0.1.running_var": "052a8f354d6c8404336ff2015c95bb46ce2b873a6aa9c5765e299e7b05b77a39",
|
| 64 |
+
"encoder.4.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 65 |
+
"encoder.4.block.1.0.weight": "2f3a70c7efa9158bcbbaf64b7f4fd61d43ae6885ed8213016556f0444f2630c4",
|
| 66 |
+
"encoder.4.block.1.1.weight": "e1dd612b70b9e4d191588cfd8d4b2e33858d0e9701ff544c929024f50dd600bd",
|
| 67 |
+
"encoder.4.block.1.1.bias": "5dcbbda025d8f61ae24573a68bc6379504ca6e2a7531f93ec13ce0affa009921",
|
| 68 |
+
"encoder.4.block.1.1.running_mean": "cf60954f714d1613090aa47be56097018702c9c3081f8d2fe7adb8b8afb717ed",
|
| 69 |
+
"encoder.4.block.1.1.running_var": "e8e4d4678fa3186a78bfd3442890ec03cec6325b0726a27fc41ca383cf33e066",
|
| 70 |
+
"encoder.4.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 71 |
+
"encoder.4.block.2.fc1.weight": "24e9a32324bb3669f300657d6a0fc82ef148435fc7d091de8b2bb340f25d1793",
|
| 72 |
+
"encoder.4.block.2.fc1.bias": "2d2e94950ca96c0695123234d35628ae3a88ee1d9f29050fc6aafde7892ac021",
|
| 73 |
+
"encoder.4.block.2.fc2.weight": "e3ef560c214179d87756732fae3b923250a291e7091e06d51b7a8614f5559009",
|
| 74 |
+
"encoder.4.block.2.fc2.bias": "de919c532cfb18af239acd3900dafc020ff51534886c6450bd697c0d21ddae5e",
|
| 75 |
+
"encoder.4.block.3.0.weight": "483b4c22de38148bd1c277e7703fdc4b2dc397216bc9a1806e28abcafe880d6f",
|
| 76 |
+
"encoder.4.block.3.1.weight": "2937c7a9ea4a7db11e49dd9357d04a1a5813bde44952cdb64be38405d28ff0af",
|
| 77 |
+
"encoder.4.block.3.1.bias": "3fb46164f571c81a0c9291f8ed6a30f428007840506ca18d6c8a949a477985a0",
|
| 78 |
+
"encoder.4.block.3.1.running_mean": "6dad5bf5cd96ae62ade166b9a9fd54182e48acd92f1996a853da1a5cccabc962",
|
| 79 |
+
"encoder.4.block.3.1.running_var": "157bfeb04ea5ee50112af2d10a4cc8af711b66df1baa1ea92f5d810b8737881a",
|
| 80 |
+
"encoder.4.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 81 |
+
"encoder.5.block.0.0.weight": "57241539acd91f0b2e5f9625f9a8398e9ac7bf7ad66e4eb264a61270c49a13af",
|
| 82 |
+
"encoder.5.block.0.1.weight": "b74845852195022efd18973a1d7b041964cddacfb01b3dcebfe50434931730b0",
|
| 83 |
+
"encoder.5.block.0.1.bias": "6cec0885d81a44a5608b4636f42e6f4024c5abfb6dac40d7ec5ba7bacaedc807",
|
| 84 |
+
"encoder.5.block.0.1.running_mean": "ba1f2db8eadecf82c2f57a66910c08792ff02c8dd90cb078b3c4baf5b4b23f2b",
|
| 85 |
+
"encoder.5.block.0.1.running_var": "8e42738ffb057ae34e977b3c951740c2c92dd4d064e0d5ae8e5f8833af1b04f2",
|
| 86 |
+
"encoder.5.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 87 |
+
"encoder.5.block.1.0.weight": "8b175cd80925f84e0df1198ef657add6a811a4b75cd21056d6e5325171943e44",
|
| 88 |
+
"encoder.5.block.1.1.weight": "6e2aa0209e73f949e4f9967a520a1adf8163c385384cb934dd04ce1df3430299",
|
| 89 |
+
"encoder.5.block.1.1.bias": "8cb9e1eda9ed6dfd036211e34a133ca9a28bbc215c1c84fbff76acca3c7ab47c",
|
| 90 |
+
"encoder.5.block.1.1.running_mean": "50aff505222c350c40bf46733d254eceecabd6771f9772b070735a7a30744388",
|
| 91 |
+
"encoder.5.block.1.1.running_var": "48ae93cd4661ea13e9ec108e2010c41d1f2b121f0c220d560f6a7c30bb96f610",
|
| 92 |
+
"encoder.5.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 93 |
+
"encoder.5.block.2.fc1.weight": "990f45f483f58f67eabdeae4f78136c85f575750e2c8e548bd3b9d435c43e611",
|
| 94 |
+
"encoder.5.block.2.fc1.bias": "b576552853ad7ced4f122026acd1f9f637b6d64c8e436934a2eac12e0171c36c",
|
| 95 |
+
"encoder.5.block.2.fc2.weight": "0d17793d1a5c5ff73d2c67ec6a965f403fa370cf8721c618c63bc10183e28bda",
|
| 96 |
+
"encoder.5.block.2.fc2.bias": "92ab3637bb5ddb032605e18261450f0c93166da3059ad978d1f8d395c1b22b6f",
|
| 97 |
+
"encoder.5.block.3.0.weight": "f1f76f56fb46ae2d523ce2c5931e535f0616fd1a38168f65dd281f03636ec32c",
|
| 98 |
+
"encoder.5.block.3.1.weight": "403544dcec48321f0292b87769b52dbb16cbdfab7a681a17c376b2374a3f7e35",
|
| 99 |
+
"encoder.5.block.3.1.bias": "9f036bca4544e93bc4861d38aedb357c2f6eba988757abc82fd057a094b9125b",
|
| 100 |
+
"encoder.5.block.3.1.running_mean": "6454adc5a45ebf82d2e14d5d7c3de1e0f145c21e1b0b3ce4a1426067bfcd6725",
|
| 101 |
+
"encoder.5.block.3.1.running_var": "889a0f38b6dad4611edb7dbabbf40347d8342e1d0b79352e18fb855643b7d317",
|
| 102 |
+
"encoder.5.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 103 |
+
"encoder.6.block.0.0.weight": "e18ed8f2df424cc898c34d85723bb23e4a4f11c124af73c7adc5f55103f4d51e",
|
| 104 |
+
"encoder.6.block.0.1.weight": "d50d74c7950821daa1e211d947e979d334ced3a3e11ebbc3998fe73894d2f545",
|
| 105 |
+
"encoder.6.block.0.1.bias": "326dc678fe8c192293a5f3869c50dadccf669dab9abf86f5396ec256425cd0e9",
|
| 106 |
+
"encoder.6.block.0.1.running_mean": "7442f17be20034692d631df0f6765765964d0a53b2ff61c3f0c71ef9858e7d41",
|
| 107 |
+
"encoder.6.block.0.1.running_var": "d8cc7365305ef4b12f21e35727a18bf50b68ee3dfdfd3abea81c569051d17379",
|
| 108 |
+
"encoder.6.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 109 |
+
"encoder.6.block.1.0.weight": "10052c917b2353420cf34dcd9b83ddcbc3330cd9b7351308dedb1202775e8405",
|
| 110 |
+
"encoder.6.block.1.1.weight": "e047d5372789de86dce9a2092b8e3a6e4154e6f419fd9cb934294a8502c61bd9",
|
| 111 |
+
"encoder.6.block.1.1.bias": "361c2da7a54b8283f7d00552bfe5736cadee05be152add644567eadf39237c04",
|
| 112 |
+
"encoder.6.block.1.1.running_mean": "7af1cc0d32caac186a3b237b7576e3a2e12d811e5fa68385ea6b9742b77a89f1",
|
| 113 |
+
"encoder.6.block.1.1.running_var": "5ad39e3ceea5e9a7aae8c96e30f0158ff28fe56cec0570eb9fe8de58099bf085",
|
| 114 |
+
"encoder.6.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 115 |
+
"encoder.6.block.2.fc1.weight": "8b07bd6a22849b0e9b25ca2b7f169362d09a81799380db0d2e99d580f7652fed",
|
| 116 |
+
"encoder.6.block.2.fc1.bias": "b0f3aaeec01c331e92f6df4d2303084b01b24afdd729f5d159a55faf44cc49cc",
|
| 117 |
+
"encoder.6.block.2.fc2.weight": "c6769839b907c59cfe0e4911427f93d1051e675ff119650cc4e7faeb16475b06",
|
| 118 |
+
"encoder.6.block.2.fc2.bias": "b6831de3c45891d3182abc0cd17fe03575f8c2fa52b12bf774684edb380c4ee0",
|
| 119 |
+
"encoder.6.block.3.0.weight": "9fa9b1a4c7e620a99c261d1bb9ea2a44dacbc7293643f6d730e82bb9cb634124",
|
| 120 |
+
"encoder.6.block.3.1.weight": "de9cffcb3bb83f05b038a3a0aa55a89682363e09ab1ac397e168e1fc1a5e9fa2",
|
| 121 |
+
"encoder.6.block.3.1.bias": "1b030ad92f1c7707213f261066b5a75ea5973d46cbe6024cec85ace6f97fc7d7",
|
| 122 |
+
"encoder.6.block.3.1.running_mean": "ef906740b1d04359775ce90a44cce93a5f4686d086396eeb8a9728acaa648cee",
|
| 123 |
+
"encoder.6.block.3.1.running_var": "50c244f99b05ae1c1c355ea0b47ece92fca1c58b51afd292fdccc01d08722570",
|
| 124 |
+
"encoder.6.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 125 |
+
"encoder.7.block.0.0.weight": "781a4589bc8b7d019834e6d7612603f4d7eef2d27861d393c93c13812336fd4e",
|
| 126 |
+
"encoder.7.block.0.1.weight": "c558e38c670f90e852cffe1268cff5292bc092f5a8dd467d2570e6c0df7f4b56",
|
| 127 |
+
"encoder.7.block.0.1.bias": "6e79dcf1afd8c1a62624967690ca89b59164cab420cbf86a592effac4ff1e228",
|
| 128 |
+
"encoder.7.block.0.1.running_mean": "7b185728e27fedbd12a90c25a454fd08adc526bce546c3ce1b31d36cf45e65a8",
|
| 129 |
+
"encoder.7.block.0.1.running_var": "2575b52894dbb5221fe0a610d77b8f00a8ed4fa5914a3629a7e8aed3d8453d11",
|
| 130 |
+
"encoder.7.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 131 |
+
"encoder.7.block.1.0.weight": "07319b812428532733ae808c5f0b3c319d34f4dab0ecc39291d5e85705e53e39",
|
| 132 |
+
"encoder.7.block.1.1.weight": "02d9794ec75e53df6c43ff511fe1167e0bfd883649274de884b82b6e4860c9d3",
|
| 133 |
+
"encoder.7.block.1.1.bias": "56bddd6980ac8da1f12a9843815fb3e311cfd917f2dff8969ffea26d1fd08e4a",
|
| 134 |
+
"encoder.7.block.1.1.running_mean": "029f104300d521cd5aca4ae224cfe07a63216d98c819619e6a36c0b978f8241f",
|
| 135 |
+
"encoder.7.block.1.1.running_var": "e741d77c30d620843d6eb54d7987ef1eede5926485234037eb8fae2c209441c5",
|
| 136 |
+
"encoder.7.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 137 |
+
"encoder.7.block.2.0.weight": "0b9e6f6646836ecfb6ef46b88baaddc67dae2a493aa39ea467c5753bb148732e",
|
| 138 |
+
"encoder.7.block.2.1.weight": "b47cebaf594da5d2f89228aedf556594b5321375b3a4653bc980aaf92d2f9e00",
|
| 139 |
+
"encoder.7.block.2.1.bias": "c44e7cc2af5de75d9d7fc5d98ad1c59860c7c9139327138bf0ec0fa626c1fd07",
|
| 140 |
+
"encoder.7.block.2.1.running_mean": "3dbe931d2313fb600faef9552c78a6062e312acbcc3c079378ba4cfe8ee203aa",
|
| 141 |
+
"encoder.7.block.2.1.running_var": "055bf886665ad72cba5476decf64456e969e304588574ce4e6c2acd9e7aa7b43",
|
| 142 |
+
"encoder.7.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 143 |
+
"encoder.8.block.0.0.weight": "8872eb0251f001427c19ee82dd90c296311ad17e77a42c39639cc277836ea298",
|
| 144 |
+
"encoder.8.block.0.1.weight": "5bb910b72ea9e278897b688db782a6e9b2209561cd5fbc52bfafc50c222bfa34",
|
| 145 |
+
"encoder.8.block.0.1.bias": "d9755f01c6a0946316db23154297934fac341606347441198a6496af2228d4d4",
|
| 146 |
+
"encoder.8.block.0.1.running_mean": "7f393f86c7a5740216d8ac07dd2e375675dc9a63985fae09919a7c1f3c1150b0",
|
| 147 |
+
"encoder.8.block.0.1.running_var": "a5c787f61933258e31e6751056e28199509af2c46fc411eaa1ec4231ba069b04",
|
| 148 |
+
"encoder.8.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 149 |
+
"encoder.8.block.1.0.weight": "399093323cd9a8b8e2187d9259ce82666a1b1422828ca790b17f0ada1c08c635",
|
| 150 |
+
"encoder.8.block.1.1.weight": "e3113d201c00f18032f4b1265544bece71bab738da4a4f7b27483cce21d65353",
|
| 151 |
+
"encoder.8.block.1.1.bias": "69d0047dc4b27c03cabfbca7f93fc69201b3a4a858e2977aee594104217be886",
|
| 152 |
+
"encoder.8.block.1.1.running_mean": "ac270769bccf9e40116d9ce505d3ce5cff92be9bb597114120a7892f8078c90f",
|
| 153 |
+
"encoder.8.block.1.1.running_var": "7f46e75c3e37c22e33a1870edda6448c8cbfaecb4a0d22b96dcb1d7cf833ab1e",
|
| 154 |
+
"encoder.8.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 155 |
+
"encoder.8.block.2.0.weight": "fbeb621e2eb81f1b4dac32ec38cdee42c469a8af7e26df9e1b3d9fd5b0031fcc",
|
| 156 |
+
"encoder.8.block.2.1.weight": "ace64423e076704846bd591bf105bf543f689e179a931420d7dd74ff9434779f",
|
| 157 |
+
"encoder.8.block.2.1.bias": "d8ea49bed353893dc51801f98b55ef03147870c45f70927d9071bc50fa8dc236",
|
| 158 |
+
"encoder.8.block.2.1.running_mean": "14ab9fe0fa253fc4c4b8c65be4b8d0c8d029f45b72310e6863c082dd4d5b5080",
|
| 159 |
+
"encoder.8.block.2.1.running_var": "22c18a8832f5d8afa03807349aac7db5022f578487eceba172d2494db71d0666",
|
| 160 |
+
"encoder.8.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 161 |
+
"encoder.9.block.0.0.weight": "eb9045b2c42ecc16969f65f393169d8b8981996b60beb058a8a1fdd86ef61de2",
|
| 162 |
+
"encoder.9.block.0.1.weight": "14730ec05a80274d29e13529a64a5bb1a51742fe9d7228474399f0f79a7df25d",
|
| 163 |
+
"encoder.9.block.0.1.bias": "8882fd57198d78590012fcdb5d0db73c924204afee14977860278a7cd6866227",
|
| 164 |
+
"encoder.9.block.0.1.running_mean": "eae83b62d84ccdcffa1a8e21d8996bb4a27cdc5e0bd16023a520e6a58fba0b09",
|
| 165 |
+
"encoder.9.block.0.1.running_var": "6d09aed08db0df083d3aedb0d27635089cce7e496a084c65047e92b3f758ad5b",
|
| 166 |
+
"encoder.9.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 167 |
+
"encoder.9.block.1.0.weight": "ac2034ef5f672a6ba86afd0a051940e567352751d4d4db40230e9bba6d211b0e",
|
| 168 |
+
"encoder.9.block.1.1.weight": "7d82ede33b54da4faac444f3dd37c4055633108fd5f34c67d8eee2daefc67f55",
|
| 169 |
+
"encoder.9.block.1.1.bias": "61ef248a1a0e42703a77d5e7b92d0eb12a05bdc1a0f92856c36b73015ab46c94",
|
| 170 |
+
"encoder.9.block.1.1.running_mean": "8a41c2f473b759109c850b0464a036ad513b39f7e0a613132427e5a44e322460",
|
| 171 |
+
"encoder.9.block.1.1.running_var": "0112f82130798c47f69759214839632baee85002908fdfa54ec2bcb3b3a4fde3",
|
| 172 |
+
"encoder.9.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 173 |
+
"encoder.9.block.2.0.weight": "b5907db1dcd69f601672d5fafb6c64557afcd0da9cafb949ae9ac5c31771733f",
|
| 174 |
+
"encoder.9.block.2.1.weight": "a99d5aa855527960de51d4820c047a2b929f48fc52729cf57c98917e9bcaa0b2",
|
| 175 |
+
"encoder.9.block.2.1.bias": "ad4284eb79a8bd63d31683af4e822dfc47c2d54d77813ab0ae6903565addba52",
|
| 176 |
+
"encoder.9.block.2.1.running_mean": "759af6649e7a02a1224793d6aedf140c0aeb512a656b247acebca2fe73fb91ce",
|
| 177 |
+
"encoder.9.block.2.1.running_var": "d9238de6a871be95c21def383933cf658dec05b3d69a7898734432d88d52c5fb",
|
| 178 |
+
"encoder.9.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 179 |
+
"encoder.10.block.0.0.weight": "75334adf78f83621147aa7e1c40442cf107f8670c11bc7d6e72c0111b6d7be8f",
|
| 180 |
+
"encoder.10.block.0.1.weight": "1f08cec259a4437cf18997af319ac4318deed40346a26edb8a44e24c1837d58f",
|
| 181 |
+
"encoder.10.block.0.1.bias": "53d0d722ae1fd797aec24c79799b7713af544bbf607348642d7416283f5902df",
|
| 182 |
+
"encoder.10.block.0.1.running_mean": "fc9f2025ac9c70e32e84be47b19797101df82f6dc363bd170063166cc688ffe4",
|
| 183 |
+
"encoder.10.block.0.1.running_var": "65c995d263f7edfe0a78ae4a092feaded4c155d3e2b9013b5f7e39cf90d5f3ee",
|
| 184 |
+
"encoder.10.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 185 |
+
"encoder.10.block.1.0.weight": "7a49052636bf00aabf3193ffd3d71abe49167118bb95ac8dcecdb1a7e7af4a47",
|
| 186 |
+
"encoder.10.block.1.1.weight": "114abb96b04eb13e377c84367d04f557d4eab3c600d210dd366e2e4b9cf78aa9",
|
| 187 |
+
"encoder.10.block.1.1.bias": "eb8acc497710b071dc4e8b8f3c7b7034dd996db53b7abd6a6ed128602e548ab1",
|
| 188 |
+
"encoder.10.block.1.1.running_mean": "d9bd223cc3f56370682e028596ace1b8577a5cc6eb325a54d3bdf4b64aaffcf7",
|
| 189 |
+
"encoder.10.block.1.1.running_var": "0ea82c6f226e9be4f62fe1bb9bd502ece0e6578264499926d760cefdaabad4ba",
|
| 190 |
+
"encoder.10.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 191 |
+
"encoder.10.block.2.0.weight": "0b77836101ea9c0cf696ea32aadf286b63d89bfe8539237b3d5a31da4fb9dc16",
|
| 192 |
+
"encoder.10.block.2.1.weight": "18960d72c4edc86526029e160ff01a600fef6e71ac00f26099fc083692909e2b",
|
| 193 |
+
"encoder.10.block.2.1.bias": "c4c7edb4aad98836a1b49ccacc54c171212530b2c3ce5f2f9aa9b19b02d7daa0",
|
| 194 |
+
"encoder.10.block.2.1.running_mean": "40fd09653aee8c3e37f2cbd57feb41fbddb4536307fe8f6989f73b53f9aa8011",
|
| 195 |
+
"encoder.10.block.2.1.running_var": "5a734d2eaad0830b20c727657579db4e5bcae6a3bad2558516844c9b7459d72d",
|
| 196 |
+
"encoder.10.block.2.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 197 |
+
"encoder.11.block.0.0.weight": "5236ac5f75ff7f9152ae8c2e7760293ed314664e76cdf925511b7b3c99d09d68",
|
| 198 |
+
"encoder.11.block.0.1.weight": "750175faa899f8ea04581778b60fcfa2aaf53a2b8f6203ccb8e6685d9a094970",
|
| 199 |
+
"encoder.11.block.0.1.bias": "7c7a5a99873abc8f375df066a83204f9e9b9d86e71a465fa1bed77554e23400c",
|
| 200 |
+
"encoder.11.block.0.1.running_mean": "50b1e71e1de76100e9209a243c12e61767809dca6348fdef210a90b2fd6376ac",
|
| 201 |
+
"encoder.11.block.0.1.running_var": "162c7b1220357c3e5606a91b4000c3a03378d8ea6c3cd51c283d9ca85dd38310",
|
| 202 |
+
"encoder.11.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 203 |
+
"encoder.11.block.1.0.weight": "2eddc2aba3cf286e6b6bec09333202de7ba87e244747e4ef769460bfae2f3a2b",
|
| 204 |
+
"encoder.11.block.1.1.weight": "ea228ee097f9118da93b5475a0eef27245a6e80d0eb9a91f9ab66183e497423a",
|
| 205 |
+
"encoder.11.block.1.1.bias": "7a135c565ef878dad28997b741d64e9b499b5ee60acedf2568834e4cca6b0aac",
|
| 206 |
+
"encoder.11.block.1.1.running_mean": "63ac06ee6a596a48edfe2fc03317db0865e3047128c009f7349d0b553a59948d",
|
| 207 |
+
"encoder.11.block.1.1.running_var": "de30923d133a0790cd021e055be02c0bc1b82bf63c4e1398e7e90943f259e4c3",
|
| 208 |
+
"encoder.11.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 209 |
+
"encoder.11.block.2.fc1.weight": "c185914a07b09a73ee8b04219d27b0f91a3dd884a6ace3c3722fb5e9933bad49",
|
| 210 |
+
"encoder.11.block.2.fc1.bias": "2e734ea46e3f65961e01338c19d1a6177aa8270305018f5a0e7328e54514eacc",
|
| 211 |
+
"encoder.11.block.2.fc2.weight": "e60c99aa269a82cba2d46a0571d31a0841e6c4cc628db929f65c3701ad712f16",
|
| 212 |
+
"encoder.11.block.2.fc2.bias": "4442084aa73320f3e2a762d7bc2fa90602bbe86831f5b608542969113870a53f",
|
| 213 |
+
"encoder.11.block.3.0.weight": "0794a434ada438046086189b88b5e52c4df084cd18b10b47136552674a77ef55",
|
| 214 |
+
"encoder.11.block.3.1.weight": "55ef60e2df5a5f3b4b452941d6811b14b2d728f07419eab3320701a7b4d084a0",
|
| 215 |
+
"encoder.11.block.3.1.bias": "ac0bd745e57d15c532abc4f8499de71f02e15ffe500d001397b76a0a105a3b8a",
|
| 216 |
+
"encoder.11.block.3.1.running_mean": "b951b436aaa1b0f0e1134f0f3e9d18a4887973bf4af6e95a5b5a70cb874b3cc7",
|
| 217 |
+
"encoder.11.block.3.1.running_var": "1261e6299d7e2d9889878394ae3f299c940406910f41b8f87542a07297b206f2",
|
| 218 |
+
"encoder.11.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 219 |
+
"encoder.12.block.0.0.weight": "6226db61d2cf9d8689e2934fda9d26b7f54e2e4288189eb3ea13fa88f6244b62",
|
| 220 |
+
"encoder.12.block.0.1.weight": "d9d79b7aa59f51d471c9d12f053cae9e9b8cf85cd27b635e5097887d79b539ee",
|
| 221 |
+
"encoder.12.block.0.1.bias": "abf5872ecedd02cc0ccc6a242fef38c67c829d81b59dd8e16a382571901d7f13",
|
| 222 |
+
"encoder.12.block.0.1.running_mean": "b7cb18afc69b1aa3b6484a9170db46eb325d3297a9ae2977a3b8925cdcc49083",
|
| 223 |
+
"encoder.12.block.0.1.running_var": "9cd17200dd6768ba4a295f06a8776ddd1772de13dd4b17b4c3c4be8c83754cb8",
|
| 224 |
+
"encoder.12.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 225 |
+
"encoder.12.block.1.0.weight": "95732938a763255bcbd4b82e7632e9a3fbee5d448e36a2bbc01739768f120e05",
|
| 226 |
+
"encoder.12.block.1.1.weight": "e8bfbff0eec14280c32d5ca796623712d784815299e7bfb1d2362b81126ff11e",
|
| 227 |
+
"encoder.12.block.1.1.bias": "be0408a49f078437ab5cb729e263e7352c8e12e300ed9f2bbd9c8410018a2e29",
|
| 228 |
+
"encoder.12.block.1.1.running_mean": "c3a966c8d31d720fd1cb6d378961cc300bce08b2565b793575421c42d27c7f99",
|
| 229 |
+
"encoder.12.block.1.1.running_var": "bda33587353b99345454b1c9795e97207804d4fd176456da4235ef94bc77cb20",
|
| 230 |
+
"encoder.12.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 231 |
+
"encoder.12.block.2.fc1.weight": "82283ad8bf30b0650c4546eea3846218ba0f6c2d7684f306d8efa2f50208728c",
|
| 232 |
+
"encoder.12.block.2.fc1.bias": "7b15af3b5756fc2ac3ed613130146371d62c2b739f25c2e1e655987e63348c5d",
|
| 233 |
+
"encoder.12.block.2.fc2.weight": "dcf746d02ae57e0b76c1eb716bb91f316f0a03b9f8cd428bc116135f1c9b7143",
|
| 234 |
+
"encoder.12.block.2.fc2.bias": "f8202b0261b463d6e7b368d499f33e676b7c8b3922737ffc3425c791e9b95368",
|
| 235 |
+
"encoder.12.block.3.0.weight": "c2d81645ecc1db6c098232f2c3869c89487e6fbf0d03883079352cf6677b3b19",
|
| 236 |
+
"encoder.12.block.3.1.weight": "901e3f694da16d97ab59813b7fde7affd40dbec894fca29247208ad17c27ebbb",
|
| 237 |
+
"encoder.12.block.3.1.bias": "4eae0cbde1b56845891076dc4490f622ed58ce5b831e114cfe5d6dc4c127c441",
|
| 238 |
+
"encoder.12.block.3.1.running_mean": "50ef9f3d542f1ebaa8e998832241ca2ce5c78bba87c435eac833b675c490a751",
|
| 239 |
+
"encoder.12.block.3.1.running_var": "6766a7dc883122487d4b9d81120da450455a70956203b75df857b4d1ecfc641a",
|
| 240 |
+
"encoder.12.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 241 |
+
"encoder.13.block.0.0.weight": "057b17a200405553cf861d9707b7f464238ea8819112684160ef1e29b43fd8a9",
|
| 242 |
+
"encoder.13.block.0.1.weight": "c729e82f17ca0bee428ea14ce4078fe2dc8810221dc3f3257a4f3175826b16bf",
|
| 243 |
+
"encoder.13.block.0.1.bias": "0efe040dc1739b32a7db5c7bbed6abbf964abbda5f7cc079048bf2682384ec8e",
|
| 244 |
+
"encoder.13.block.0.1.running_mean": "a930e62e65f7578e9015f9c1e4881268ed97e127ff0a1f1784354773e1b6de50",
|
| 245 |
+
"encoder.13.block.0.1.running_var": "2a44ffd118cc47f14c5094a212a1674fdbb25e11bec7f8445517e8c1163889ef",
|
| 246 |
+
"encoder.13.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 247 |
+
"encoder.13.block.1.0.weight": "710a7938f0eb8fd030b2e7f0944972ff4e96226c98de222303780597db0daf3b",
|
| 248 |
+
"encoder.13.block.1.1.weight": "2ec89f19df88fcbe171f35089becdfe2f5054960a524a4b52c8a2ba882bfe893",
|
| 249 |
+
"encoder.13.block.1.1.bias": "8480d3f281e626c3b0b92c62e528428909b3d07c0f269ce5a0b15325c64c6911",
|
| 250 |
+
"encoder.13.block.1.1.running_mean": "4064d9f4296734cb436bd2ad56744e191a5d68d2ce04eb28797c158783b0b76c",
|
| 251 |
+
"encoder.13.block.1.1.running_var": "41cb95460a8111bfb3646b709bf7cce1f1d9a983d948530714fe89f8a562cb94",
|
| 252 |
+
"encoder.13.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 253 |
+
"encoder.13.block.2.fc1.weight": "204591d0a6c9c9060ed0f04250144a52bc6a91dbb2310f456b1e9b08f4e2e7b7",
|
| 254 |
+
"encoder.13.block.2.fc1.bias": "7c325e82d063f1472bc57e7e8717a2ee3e375eb099094294322c273ccc09623c",
|
| 255 |
+
"encoder.13.block.2.fc2.weight": "eb50d9ec56eb217120688873a1afbc0ef4ee8aa81abf843b339bccaf82448791",
|
| 256 |
+
"encoder.13.block.2.fc2.bias": "b1e5715c234b77c6b3809d7ae0b2fa6342412ef4a5043acd618b2a34dd44ba98",
|
| 257 |
+
"encoder.13.block.3.0.weight": "da3d70efde2d1c92f01abe9cdb247ae68bf85ddde85731cb4e9eb2aef24d5b8d",
|
| 258 |
+
"encoder.13.block.3.1.weight": "aad066b923832b77fd181d05fcf21a13f02d5477f72dea0bbc78cd7c556cd52f",
|
| 259 |
+
"encoder.13.block.3.1.bias": "21ba777173b2024a55265543c7c354beb369f9b2177dd858ec4703133135741b",
|
| 260 |
+
"encoder.13.block.3.1.running_mean": "4ad04be30c187c14faf68741eaba40cb999182919560cc6468613287d991c03a",
|
| 261 |
+
"encoder.13.block.3.1.running_var": "2d3755ea8b9696bace17467463607cc7da8cbae0bfb34fbeaaa0380892e6d9eb",
|
| 262 |
+
"encoder.13.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 263 |
+
"encoder.14.block.0.0.weight": "57520c958ac88551306c9ed93fa82c68748dfa0aaff5be21f784138fbdef0d4b",
|
| 264 |
+
"encoder.14.block.0.1.weight": "28880980ec1f0c4c197c651abaec4bf1cddb0849274c37fff961118306c7eca1",
|
| 265 |
+
"encoder.14.block.0.1.bias": "21fe382e7905469c2ca58f45cbb6c0648d8170ab205b5d11a93701f32ded01b0",
|
| 266 |
+
"encoder.14.block.0.1.running_mean": "c78f04cc9454894d571374dcee659c2a90ecb7c87f64e33beb0359b03c364ea4",
|
| 267 |
+
"encoder.14.block.0.1.running_var": "d78e8d05e4c1385990c20b98f1c174e22ee78a531ade483d493676710287b001",
|
| 268 |
+
"encoder.14.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 269 |
+
"encoder.14.block.1.0.weight": "e7d42423fa0f7a55831e62393952cab084c12a3c067e74f5e590b6ef47adfe4b",
|
| 270 |
+
"encoder.14.block.1.1.weight": "58c59dd537430a623db63ed36df68d833075dcb760b6eb1bdaa091717bde2cfc",
|
| 271 |
+
"encoder.14.block.1.1.bias": "5030c92c3f9c3ffc6e03444f7fc84e22779701b65e00188439e0b0c66e57c5c1",
|
| 272 |
+
"encoder.14.block.1.1.running_mean": "f87e7313555eb8a4bb4c4d16f7a1b256ca1afb515585c71e180852c36679cecb",
|
| 273 |
+
"encoder.14.block.1.1.running_var": "642d713ae21d10c9824149e09ff062c952ab8ec3000256a00fb8f9895b1fed6e",
|
| 274 |
+
"encoder.14.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 275 |
+
"encoder.14.block.2.fc1.weight": "3449c6e54fd4e2f3c051771532c2413b901545b4b84ed2a36ca32f7892e95c59",
|
| 276 |
+
"encoder.14.block.2.fc1.bias": "7b198699cd8538cc02fc00cfa7158f952428ccaa267dca15723b17e2698047d8",
|
| 277 |
+
"encoder.14.block.2.fc2.weight": "1d500bbc373b0872ea89d2f7bebdc99254b200a55ced7334ec08837abd8d40f1",
|
| 278 |
+
"encoder.14.block.2.fc2.bias": "f55d43d5224f52223f0f60b82694c44a04e405cb9fd01473fc7c911124f16bb8",
|
| 279 |
+
"encoder.14.block.3.0.weight": "d0333616c990406850f88e58b627984bd6fc65920df412506263f859a56d9a09",
|
| 280 |
+
"encoder.14.block.3.1.weight": "ad0300dcf0fec90c52de0a94768891a3d1d331cced84d702b8af67a6874763c2",
|
| 281 |
+
"encoder.14.block.3.1.bias": "71fc6eb2ec7fe10058459e003a8eba014525eeb963d84972296cfd1dfc0f4a9f",
|
| 282 |
+
"encoder.14.block.3.1.running_mean": "33d8af33a726568f8da79c849387012115e12e9ec6a17058e49c0fc13ac022b6",
|
| 283 |
+
"encoder.14.block.3.1.running_var": "245698bca5349f04c95c9c85349697ef13135eec8c81722c079c56d6f0d78641",
|
| 284 |
+
"encoder.14.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 285 |
+
"encoder.15.block.0.0.weight": "df16c20eeb642eadd17d6ce65681413e64e1fcee3f70dad5aa1eea313f320c36",
|
| 286 |
+
"encoder.15.block.0.1.weight": "51a8af4d3ce140d9cd0a98fb22e1aa82889affd44f9b0cd9cdc2f5da27f27cda",
|
| 287 |
+
"encoder.15.block.0.1.bias": "f2631c520ed174e6cc85172a393e502e944bfdc6a87d9e6bd86f7de5ec0f8b45",
|
| 288 |
+
"encoder.15.block.0.1.running_mean": "51344999489ab5f876ee21f34a94d2c9dd976bcf2074aa72b79c177b4d5c2f9f",
|
| 289 |
+
"encoder.15.block.0.1.running_var": "48fdb23ffe47e58642c8e3326d934b688e9ee5c737af71e165257cbb3cadf2aa",
|
| 290 |
+
"encoder.15.block.0.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 291 |
+
"encoder.15.block.1.0.weight": "5c623a66e9d6c402ad45ca1167d3bd217b3d01f5d8b2de95dd6be5a2b4d17fdd",
|
| 292 |
+
"encoder.15.block.1.1.weight": "bcf1644dafe28dfa95b8e1afb6dddaf8334084d8b412089990dafc48cd95181e",
|
| 293 |
+
"encoder.15.block.1.1.bias": "0db40920bd99d1291916af8cc706225bce8740363697c35e9f494e903c99336f",
|
| 294 |
+
"encoder.15.block.1.1.running_mean": "2b854c8b4cd6ad92185543bcd85286e4812ccfe4e88652dd3890adadfff97e16",
|
| 295 |
+
"encoder.15.block.1.1.running_var": "8f554df22bf03bcfd64c6d8c960a6e0ef9d208b6339898fd7880a8287860f3aa",
|
| 296 |
+
"encoder.15.block.1.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 297 |
+
"encoder.15.block.2.fc1.weight": "dcda683629f01f11c6d2e7d82fa9ce282bf1955d0570fa6df5c52b3cc96267cc",
|
| 298 |
+
"encoder.15.block.2.fc1.bias": "cd8e77296658796c0257198dce24abf2f5ddf422cfa1502a0dc84a25ee6cb4a6",
|
| 299 |
+
"encoder.15.block.2.fc2.weight": "13f0c21964d47c1e091c1ccbe57197a4147023a633f8d5dfedf29f5c01344ba1",
|
| 300 |
+
"encoder.15.block.2.fc2.bias": "42fecc12765e576b1e796fd91b31374fe951d535a451dd636a7fc8435366003b",
|
| 301 |
+
"encoder.15.block.3.0.weight": "3722cc9916e7d5b1ff39e7fba675cec0c8a1b495a97ef8f72e9245335d79bf2b",
|
| 302 |
+
"encoder.15.block.3.1.weight": "405533a876b1af5befd4880908c7919500410c24d58598b7942545420763e82c",
|
| 303 |
+
"encoder.15.block.3.1.bias": "8f1f58b5c34d5f2aa4f9298cab5df5c53df39d1351e38529474ff08214fbe3f6",
|
| 304 |
+
"encoder.15.block.3.1.running_mean": "eefbdfdf5a80317c03e60fbe195f1bfe25d578c08687f9d1daa2b62e04d35758",
|
| 305 |
+
"encoder.15.block.3.1.running_var": "37b06cd41d440e59a174a3850c90ca4ad1dbdf51f5f27ef62439964ce2459ade",
|
| 306 |
+
"encoder.15.block.3.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 307 |
+
"encoder.16.0.weight": "eb113c3317a5994ffb5fa7bc429067e44431690d518f14e3350d186546c7d254",
|
| 308 |
+
"encoder.16.1.weight": "9670796eb7d5d67636c8a370b1b7a2a127e0b0b9cf79a8668aefd8326cde21dd",
|
| 309 |
+
"encoder.16.1.bias": "64261982eed2e4108e8365905e33f9e2c6b6e73a75b7030d8f895ae4001b81dd",
|
| 310 |
+
"encoder.16.1.running_mean": "5f2dee589617cc8fd8b68bf85ab1be02d0750a04a65e5d92b2e8c5f1216a2480",
|
| 311 |
+
"encoder.16.1.running_var": "3e972a7902724fc703ade497cb65aa6981eccfe51aba41be4efd43487fc04f5f",
|
| 312 |
+
"encoder.16.1.num_batches_tracked": "2068591d4231cd5803688fc778965320f161c9d097a8caab87b95c4faca642b2",
|
| 313 |
+
"lateral.0.weight": "00b665b8a44d9f267277b024cf5b8b7a8cff741015e3f25c6c73173e7461726d",
|
| 314 |
+
"lateral.0.bias": "983da29ee4c99518ebb78a9c4bfbd00809e70133c8a6a636378c9728b2631001",
|
| 315 |
+
"lateral.1.weight": "48d817ae18a0b93fde697e97b2503d008ebae29bdfc52589966e6dc3a0329266",
|
| 316 |
+
"lateral.1.bias": "6c7c56c4a82861ca4301dfac058456346a82ec083def384b7068baa09bcb1bd7",
|
| 317 |
+
"lateral.2.weight": "816a4c43662f5cad5a75e1dda590ebc8dda666538bc31553c68ceca225001c57",
|
| 318 |
+
"lateral.2.bias": "a05894dd3b81a71eaaa6973f80f2877b7c68ed2e72f3f17d2c445508e3e688f3",
|
| 319 |
+
"lateral.3.weight": "9d4c93d06c8e42eb2d517d312789ee98d6ac48802201dca6ccd0c02397a4c522",
|
| 320 |
+
"lateral.3.bias": "c96f1f6a8d7097db42433b4e7971a358fa4809d22d41489f297f4546cb235fbe",
|
| 321 |
+
"refine.0.0.weight": "eb6671a63a783c8b8b53561cc349fc3f8d9d49759db67848cf9301719f4f0446",
|
| 322 |
+
"refine.0.1.weight": "357865769b43521bec5345e9bd1727e3a4db8b72333ae62d37bf5413bf88017c",
|
| 323 |
+
"refine.0.1.bias": "7e89c5de34b46251c3e0af153c2e0addfcd0cc201ba26923e01d4fd4c7e6b581",
|
| 324 |
+
"refine.1.0.weight": "be7c5606bea4291ad5597949f0dcbf0763f4e8f23188d3030e86687d3287a62d",
|
| 325 |
+
"refine.1.1.weight": "3ed104d7873d2345e63f5a62c5d808b3adf3c7fa1d98a1e937d4ac242f95ec3e",
|
| 326 |
+
"refine.1.1.bias": "4d9a722b756647d732af6caa0ef7bef3a770e8afdaa5dd4cb0a638bd03f8dee7",
|
| 327 |
+
"refine.2.0.weight": "f65b68ce22cb90ec1af1d8816b7ce732191c813b2bb3b80f2453093904bdab73",
|
| 328 |
+
"refine.2.1.weight": "336fa81281ea69f52d5e9d499a2a9b9bdb9e6df657d05b0c0233a2a651c97e48",
|
| 329 |
+
"refine.2.1.bias": "13ae8a63ecfe284ef321d6b6040491e63e5bcec074c06477bf906403bd4c2eb2",
|
| 330 |
+
"query_blocks.0.self_attn.in_proj_weight": "07c4899ef3571fe104255ca6218c44b203d63c5cbfad24bc80ca262afff6787c",
|
| 331 |
+
"query_blocks.0.self_attn.in_proj_bias": "e967a31782697db458307177fbd46567cc272e336c87bda6d8c9da8fbd3856a7",
|
| 332 |
+
"query_blocks.0.self_attn.out_proj.weight": "ee517d34b3b675fe590c701b8332dc5abd49e611bb031c57ce26f76a89928c5f",
|
| 333 |
+
"query_blocks.0.self_attn.out_proj.bias": "e71863cf2b49214ecb3bcf1bc315c39193f12c52b7c6cc58b23cbde927b17f0b",
|
| 334 |
+
"query_blocks.0.cross_attn.in_proj_weight": "9c3fa13f9e76c9f890d72f7fe923f140d5605fc96172a75e8f43f23e9f15d505",
|
| 335 |
+
"query_blocks.0.cross_attn.in_proj_bias": "2604d8be43fc6f9071c8334f16752a29dce5cd3a64b431673ec8843bca300474",
|
| 336 |
+
"query_blocks.0.cross_attn.out_proj.weight": "73d0e044fad99303f67c5104a429f597ecf8bd76281d5b9ef4874abd1c349e0c",
|
| 337 |
+
"query_blocks.0.cross_attn.out_proj.bias": "227c6e9e1e8fbc2bfcbf632b0386075731a26237e2e017386da4bdc18ebf106d",
|
| 338 |
+
"query_blocks.0.norms.0.weight": "81786e7884ac96ff8e4d4f84bbac9596534f135ebf9689b8916e305b916bb177",
|
| 339 |
+
"query_blocks.0.norms.0.bias": "1cfd8b246efcbe8c26ad352d2dfc60c9cb8c8deb9a6611963ab9eca407cda3df",
|
| 340 |
+
"query_blocks.0.norms.1.weight": "d61a554ff57997061fafb3944724adb985b5a1f666902dd8277022d33f247da7",
|
| 341 |
+
"query_blocks.0.norms.1.bias": "eb3608e4f19d3867bfaff58a7c0fdcd381c7f78d24b9c0c77015a0842251486a",
|
| 342 |
+
"query_blocks.0.norms.2.weight": "50c70bf2e09f9c4441148d21297281e63f7d93f0877739b8c6d1f9658188b1d1",
|
| 343 |
+
"query_blocks.0.norms.2.bias": "9c0ae778f8fcf486a1ad090785ca25b5502fd5b2b8ed107a1147846fff969d76",
|
| 344 |
+
"query_blocks.0.ff.0.weight": "de6067fed91dec20fbe8fa134661de398fa416ec8077040adf2dc39eebc163b4",
|
| 345 |
+
"query_blocks.0.ff.0.bias": "9289c801701142dabaf8c156177d0d23c73f752680a1b640ab48db7efeaa643e",
|
| 346 |
+
"query_blocks.0.ff.2.weight": "35a57f7b78b0474e3567c8a89057f20ab57ff20905fd4baedc1c4b681eda6764",
|
| 347 |
+
"query_blocks.0.ff.2.bias": "d787c3fc933cbed78fbdf201737fa522a2bca4bba8fcf01d63c70c9dd5d6c990",
|
| 348 |
+
"query_blocks.1.self_attn.in_proj_weight": "5cc92b7e586f2d5b95e00e217c82aca0415ad82d7771e731cd75b5dcbccfe1ee",
|
| 349 |
+
"query_blocks.1.self_attn.in_proj_bias": "01dcbad9b36973b4c0d62c3fb5bf79c44bc76b5203192123f9d9e7750ca00a02",
|
| 350 |
+
"query_blocks.1.self_attn.out_proj.weight": "645e61ee9ee92e8d5a5896fbfc7a6778bae03e6e407c613ffd630ee3713aeeac",
|
| 351 |
+
"query_blocks.1.self_attn.out_proj.bias": "c926c560ab92a77d6a4aa0d68b199af99cd4b1abeeaaa798eaa317365b410189",
|
| 352 |
+
"query_blocks.1.cross_attn.in_proj_weight": "a41af40de4d6ac75046264bec299031bf1e0caff2bf4328fbe364269a7b4040a",
|
| 353 |
+
"query_blocks.1.cross_attn.in_proj_bias": "db88702fbd9d2ddc060552696e221d453cd0fef7cd685520d3784659f44f08ce",
|
| 354 |
+
"query_blocks.1.cross_attn.out_proj.weight": "6d656bb72f767c835ce542721b48d7f5e8c0ba72c7916d2c89558926cb9024e1",
|
| 355 |
+
"query_blocks.1.cross_attn.out_proj.bias": "7207d1ec2492c9a979e9043e94c908e91b97309e217797e6e447382e38e97f84",
|
| 356 |
+
"query_blocks.1.norms.0.weight": "7de8c1deee27c5835eb62de01da73a81d6c95c0c0a7b54c05835929f28062da5",
|
| 357 |
+
"query_blocks.1.norms.0.bias": "2a9ea46c0d125a10f24a2493017bfadb304d799a375464dde3be5fabb782a743",
|
| 358 |
+
"query_blocks.1.norms.1.weight": "e338bc7dddbcb94982b0d4595c6cd80e6c68dac3e393598f0a5f89dbe91fa45e",
|
| 359 |
+
"query_blocks.1.norms.1.bias": "7f8d2394c428c0e136cdfa4f2101fcf2e9cfa450b58612872e994d6e1167227c",
|
| 360 |
+
"query_blocks.1.norms.2.weight": "76d3d400433b136cdf25a2b43114e22ca1347ec938f845816c3f170ee9f3f3b4",
|
| 361 |
+
"query_blocks.1.norms.2.bias": "7a0bbcfb70edf435861b4689d610dacf29e40c98623426b2e20331b99768f6a1",
|
| 362 |
+
"query_blocks.1.ff.0.weight": "e958c705fab93cd5377af0a79c21b7296afa12f3de29ff0d2362176d74027948",
|
| 363 |
+
"query_blocks.1.ff.0.bias": "38b87a316e3581bb1c91ea032c096933b39cda3a32aac0064a6738156ff24568",
|
| 364 |
+
"query_blocks.1.ff.2.weight": "f08d2f9919b0e6b5a6dd6b4ea04acb4ff4fc35bbeb53f8652964a1ba708acd1f",
|
| 365 |
+
"query_blocks.1.ff.2.bias": "62b592d8c7b6771f47913242e0c89be2a7672087f2ea8820c2e3fb30a4e5ea5c",
|
| 366 |
+
"memory_norm.weight": "8798c8623bb2aa161dd53728d9e8d744682e89cfd0a0feb747d106eb5f1d87dc",
|
| 367 |
+
"memory_norm.bias": "a483734f7356abd1f434c35d573023b5f65e59bb8f8ca8bf02489aefae94da8b",
|
| 368 |
+
"query_norm.weight": "4d83c276001c3a957bab851e3c4e10fe6b578de8bd7bd9e4e2382b0076ce871e",
|
| 369 |
+
"query_norm.bias": "b256aee756228fbcb856fadf3243547fbbdefd91bfb44275908d5e7c55e281bc",
|
| 370 |
+
"pixel.weight": "999c44d479f7f60c264172be8d7b6439ff4273e9834c9bb35fcde5ab10a3b19c",
|
| 371 |
+
"pixel.bias": "5e1dd4c015c3e71a913a0c81e554a7da23d37a9daa6c0c36a87a1e46e367f775",
|
| 372 |
+
"palette.0.weight": "1aace21ef08194191120d80f0b3bfcbe7d6b908f0fd8fea564011ef060517fc5",
|
| 373 |
+
"palette.0.bias": "8e1472e5863fe72f6a19367a33873c6b26819e32e92cbabff9c2649c4b58f667",
|
| 374 |
+
"palette.2.weight": "d7b7314686791a9007a6b6825543ab1c5475821012299c6d50ff900535963fea",
|
| 375 |
+
"palette.2.bias": "54330cd54a1de7758c051e66bc119c3971c8443d6067c694e3f320e9f1b553b8",
|
| 376 |
+
"residual.weight": "fdc993139d7f900a2f5fe7c8aa2c1d2f20e6958cb32c3026ae224b035aabc18b",
|
| 377 |
+
"residual.bias": "7e993325e726fb1a4d2828e7bf5b144d0ddb4f816321a41f218a5c80650f7528"
|
| 378 |
+
}
|
quantized/base93-v3/decoder_verification.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"tensors":376,"python_javascript_bitwise_match":true,"json_string_bytes":4949484,"sha256":"e9ef164317e7832781753585c5533c781ce134527dd71385ef490cf5cf5fe9ba"}
|
quantized/base93-v3/evaluate.py
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Held-out output preservation check; does not select or alter quantisation."""
|
| 2 |
+
import argparse,hashlib,json,math
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
import numpy as np
|
| 5 |
+
import torch
|
| 6 |
+
from PIL import Image,ImageDraw,ImageOps
|
| 7 |
+
from semantic_model import load_semantic
|
| 8 |
+
from inference import prepare,chroma_coefficients,render
|
| 9 |
+
from base93_codec import load_model,decode_state
|
| 10 |
+
ROOT=Path(__file__).resolve().parent
|
| 11 |
+
p=argparse.ArgumentParser();p.add_argument('--reference',required=True);p.add_argument('--images',default=str(ROOT/'images'));p.add_argument('--archives',default=str(ROOT/'archive_inputs'));args=p.parse_args()
|
| 12 |
+
OUT=ROOT/'evaluation';OUT.mkdir(exist_ok=True)
|
| 13 |
+
torch.set_num_threads(4)
|
| 14 |
+
reference=load_semantic(Path(args.reference)).eval()
|
| 15 |
+
quantized=load_model(ROOT/'weights_base93.txt')
|
| 16 |
+
source=json.loads((ROOT/'image_manifest.json').read_text())
|
| 17 |
+
records=[dict(r,path=Path(args.images)/r['name'],subset='COCO_holdout') for r in source['rows'] if r['split']=='validation']
|
| 18 |
+
archives=json.loads((ROOT/'nara_sources.json').read_text())
|
| 19 |
+
records += [dict(r,path=Path(args.archives)/r['name'],subset='historical') for r in archives]
|
| 20 |
+
results=[];thumbs=[]
|
| 21 |
+
@torch.inference_mode()
|
| 22 |
+
def run(record,size=256):
|
| 23 |
+
im=Image.open(record['path']).convert('RGB')
|
| 24 |
+
light,alpha,x=prepare(im,size)
|
| 25 |
+
baseline_ab=reference(x);quantized_ab=quantized(x)
|
| 26 |
+
delta=baseline_ab-quantized_ab
|
| 27 |
+
baseline=render(light,alpha,chroma_coefficients(reference,x,8))
|
| 28 |
+
candidate=render(light,alpha,chroma_coefficients(quantized,x,8))
|
| 29 |
+
aa=np.asarray(baseline,dtype=np.float32);bb=np.asarray(candidate,dtype=np.float32)
|
| 30 |
+
d=aa-bb;mse=float(np.mean(d*d));mae=float(np.mean(np.abs(d)))
|
| 31 |
+
row={'name':record['name'],'subset':record['subset'],'size':size,'source_sha256':hashlib.sha256(record['path'].read_bytes()).hexdigest(),'ab_mae':delta.abs().mean().item(),'ab_rmse':delta.square().mean().sqrt().item(),'rgb_mae_255':mae,'rgb_psnr_db':10*math.log10(255**2/max(mse,1e-15)),'rgb_max_difference':float(np.max(np.abs(d)))}
|
| 32 |
+
if size==256:
|
| 33 |
+
baseline.save(OUT/(record['name']+'_fp32.png'));candidate.save(OUT/(record['name']+'_base93.png'))
|
| 34 |
+
neutral=render(light,alpha,(torch.zeros_like(baseline_ab),torch.zeros_like(baseline_ab)))
|
| 35 |
+
thumbs.append((row,[neutral,baseline,candidate]))
|
| 36 |
+
return row
|
| 37 |
+
for i,record in enumerate(records):
|
| 38 |
+
row=run(record);results.append(row)
|
| 39 |
+
if (i+1)%10==0:print('EVALUATED',i+1,flush=True)
|
| 40 |
+
# Resolution/alpha checks supplement the default-size held-out check.
|
| 41 |
+
large=[run(r,512) for r in records[:4]]
|
| 42 |
+
rgba=Image.open(records[0]['path']).convert('RGBA');arr=np.asarray(rgba).copy();arr[...,3]=np.linspace(0,255,arr.shape[1],dtype=np.uint8)[None,:];rgba=Image.fromarray(arr)
|
| 43 |
+
light,alpha,x=prepare(rgba,256);output=render(light,alpha,chroma_coefficients(quantized,x,8))
|
| 44 |
+
assert np.array_equal(np.asarray(output)[...,3],arr[...,3]) and output.size==rgba.size
|
| 45 |
+
for page in range(math.ceil(len(thumbs)/8)):
|
| 46 |
+
sheet=Image.new('RGB',(1002,8*264+32),'#202020');draw=ImageDraw.Draw(sheet)
|
| 47 |
+
for j,label in enumerate(['Grayscale input','Production FP32','Base93 decoded']):draw.text((j*334+8,10),label,fill='white')
|
| 48 |
+
for r,(row,ims) in enumerate(thumbs[page*8:page*8+8]):
|
| 49 |
+
y=32+r*264
|
| 50 |
+
draw.text((8,y),f"{row['name']} RGB MAE {row['rgb_mae_255']:.2f}/255; PSNR {row['rgb_psnr_db']:.1f} dB",fill='white')
|
| 51 |
+
for j,im in enumerate(ims):
|
| 52 |
+
im=ImageOps.contain(im,(330,236));sheet.paste(im,(j*334+(334-im.width)//2,y+23))
|
| 53 |
+
sheet.save(OUT/f'comparison_{page+1:02}.jpg',quality=92)
|
| 54 |
+
def aggregate(rows):
|
| 55 |
+
return {'images':len(rows),**{key:float(np.mean([r[key] for r in rows])) for key in ['ab_mae','ab_rmse','rgb_mae_255','rgb_psnr_db']},'worst_rgb_mae':max(rows,key=lambda r:r['rgb_mae_255']),'lowest_psnr':min(rows,key=lambda r:r['rgb_psnr_db'])}
|
| 56 |
+
report={'purpose':'Preservation of production FP32 outputs, not colourisation accuracy or ground-truth recovery. No validation input used to select quantisation.','reference_revision':'1a9eb8af2754ad2329a24cfe50d388cb559441d0','base93_sha256':hashlib.sha256((ROOT/'weights_base93.txt').read_bytes()).hexdigest(),'default_settings':{'size':256,'smoothing_radius':8,'saturation':1},'COCO_holdout':aggregate([r for r in results if r['subset']=='COCO_holdout']),'historical':aggregate([r for r in results if r['subset']=='historical']),'size512':aggregate(large),'alpha_preserved':True,'rows':results,'size512_rows':large}
|
| 57 |
+
(ROOT/'evaluation.json').write_text(json.dumps(report,indent=2))
|
| 58 |
+
print(json.dumps({k:v for k,v in report.items() if k not in ('rows','size512_rows')},indent=2),flush=True)
|
| 59 |
+
# Hash every decoded array in little-endian form for the independent JS decoder.
|
| 60 |
+
arrays,_,_=decode_state((ROOT/'weights_base93.txt').read_text())
|
| 61 |
+
hashes={n:hashlib.sha256(a.astype('<f4' if a.dtype.kind=='f' else '<i8').tobytes()).hexdigest() for n,a in arrays.items()}
|
| 62 |
+
(ROOT/'decoded_tensor_hashes.json').write_text(json.dumps(hashes,indent=2))
|
quantized/base93-v3/evaluation.json
ADDED
|
@@ -0,0 +1,916 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"purpose": "Preservation of production FP32 outputs, not colourisation accuracy or ground-truth recovery. No validation input used to select quantisation.",
|
| 3 |
+
"reference_revision": "1a9eb8af2754ad2329a24cfe50d388cb559441d0",
|
| 4 |
+
"base93_sha256": "e9ef164317e7832781753585c5533c781ce134527dd71385ef490cf5cf5fe9ba",
|
| 5 |
+
"default_settings": {
|
| 6 |
+
"size": 256,
|
| 7 |
+
"smoothing_radius": 8,
|
| 8 |
+
"saturation": 1
|
| 9 |
+
},
|
| 10 |
+
"COCO_holdout": {
|
| 11 |
+
"images": 64,
|
| 12 |
+
"ab_mae": 0.5811994269024581,
|
| 13 |
+
"ab_rmse": 0.7796662729233503,
|
| 14 |
+
"rgb_mae_255": 0.7840837354306132,
|
| 15 |
+
"rgb_psnr_db": 47.61341975277594,
|
| 16 |
+
"worst_rgb_mae": {
|
| 17 |
+
"name": "coco_1056.jpg",
|
| 18 |
+
"subset": "COCO_holdout",
|
| 19 |
+
"size": 256,
|
| 20 |
+
"source_sha256": "72e91c9eea461ca5656b3f8df0ffb7d03c6d151d1778295f0534e501853a0f0c",
|
| 21 |
+
"ab_mae": 2.1831459999084473,
|
| 22 |
+
"ab_rmse": 2.8584671020507812,
|
| 23 |
+
"rgb_mae_255": 2.98801589012146,
|
| 24 |
+
"rgb_psnr_db": 35.85841242699141,
|
| 25 |
+
"rgb_max_difference": 18.0
|
| 26 |
+
},
|
| 27 |
+
"lowest_psnr": {
|
| 28 |
+
"name": "coco_1056.jpg",
|
| 29 |
+
"subset": "COCO_holdout",
|
| 30 |
+
"size": 256,
|
| 31 |
+
"source_sha256": "72e91c9eea461ca5656b3f8df0ffb7d03c6d151d1778295f0534e501853a0f0c",
|
| 32 |
+
"ab_mae": 2.1831459999084473,
|
| 33 |
+
"ab_rmse": 2.8584671020507812,
|
| 34 |
+
"rgb_mae_255": 2.98801589012146,
|
| 35 |
+
"rgb_psnr_db": 35.85841242699141,
|
| 36 |
+
"rgb_max_difference": 18.0
|
| 37 |
+
}
|
| 38 |
+
},
|
| 39 |
+
"historical": {
|
| 40 |
+
"images": 6,
|
| 41 |
+
"ab_mae": 0.6835264513889948,
|
| 42 |
+
"ab_rmse": 0.9132436762253443,
|
| 43 |
+
"rgb_mae_255": 0.9896730780601501,
|
| 44 |
+
"rgb_psnr_db": 45.81755162620851,
|
| 45 |
+
"worst_rgb_mae": {
|
| 46 |
+
"name": "nara_46.jpg",
|
| 47 |
+
"subset": "historical",
|
| 48 |
+
"size": 256,
|
| 49 |
+
"source_sha256": "e7f2881c420c51c1855eb64219dc8c31e9a112976a3c81bfe0bcacb690d6b6e8",
|
| 50 |
+
"ab_mae": 0.8899980783462524,
|
| 51 |
+
"ab_rmse": 1.3845140933990479,
|
| 52 |
+
"rgb_mae_255": 1.4832963943481445,
|
| 53 |
+
"rgb_psnr_db": 41.02733433669738,
|
| 54 |
+
"rgb_max_difference": 10.0
|
| 55 |
+
},
|
| 56 |
+
"lowest_psnr": {
|
| 57 |
+
"name": "nara_46.jpg",
|
| 58 |
+
"subset": "historical",
|
| 59 |
+
"size": 256,
|
| 60 |
+
"source_sha256": "e7f2881c420c51c1855eb64219dc8c31e9a112976a3c81bfe0bcacb690d6b6e8",
|
| 61 |
+
"ab_mae": 0.8899980783462524,
|
| 62 |
+
"ab_rmse": 1.3845140933990479,
|
| 63 |
+
"rgb_mae_255": 1.4832963943481445,
|
| 64 |
+
"rgb_psnr_db": 41.02733433669738,
|
| 65 |
+
"rgb_max_difference": 10.0
|
| 66 |
+
}
|
| 67 |
+
},
|
| 68 |
+
"size512": {
|
| 69 |
+
"images": 4,
|
| 70 |
+
"ab_mae": 0.5359255634248257,
|
| 71 |
+
"ab_rmse": 0.8267999440431595,
|
| 72 |
+
"rgb_mae_255": 0.7455227300524712,
|
| 73 |
+
"rgb_psnr_db": 47.71224340335761,
|
| 74 |
+
"worst_rgb_mae": {
|
| 75 |
+
"name": "coco_1019.jpg",
|
| 76 |
+
"subset": "COCO_holdout",
|
| 77 |
+
"size": 512,
|
| 78 |
+
"source_sha256": "70d31beda1c0e3ac96190f69cdae7d39f630a29f4ec337a953ddb4964906ff26",
|
| 79 |
+
"ab_mae": 1.1465343236923218,
|
| 80 |
+
"ab_rmse": 1.8872750997543335,
|
| 81 |
+
"rgb_mae_255": 1.644206166267395,
|
| 82 |
+
"rgb_psnr_db": 39.03467060849164,
|
| 83 |
+
"rgb_max_difference": 18.0
|
| 84 |
+
},
|
| 85 |
+
"lowest_psnr": {
|
| 86 |
+
"name": "coco_1019.jpg",
|
| 87 |
+
"subset": "COCO_holdout",
|
| 88 |
+
"size": 512,
|
| 89 |
+
"source_sha256": "70d31beda1c0e3ac96190f69cdae7d39f630a29f4ec337a953ddb4964906ff26",
|
| 90 |
+
"ab_mae": 1.1465343236923218,
|
| 91 |
+
"ab_rmse": 1.8872750997543335,
|
| 92 |
+
"rgb_mae_255": 1.644206166267395,
|
| 93 |
+
"rgb_psnr_db": 39.03467060849164,
|
| 94 |
+
"rgb_max_difference": 18.0
|
| 95 |
+
}
|
| 96 |
+
},
|
| 97 |
+
"alpha_preserved": true,
|
| 98 |
+
"rows": [
|
| 99 |
+
{
|
| 100 |
+
"name": "coco_1016.jpg",
|
| 101 |
+
"subset": "COCO_holdout",
|
| 102 |
+
"size": 256,
|
| 103 |
+
"source_sha256": "e041ce705b88df703e66213dfed5ee67894a1849c2c1bafcf49ba586d93aad19",
|
| 104 |
+
"ab_mae": 0.43940839171409607,
|
| 105 |
+
"ab_rmse": 0.6683849692344666,
|
| 106 |
+
"rgb_mae_255": 0.665857195854187,
|
| 107 |
+
"rgb_psnr_db": 47.762664727710245,
|
| 108 |
+
"rgb_max_difference": 6.0
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"name": "coco_1017.jpg",
|
| 112 |
+
"subset": "COCO_holdout",
|
| 113 |
+
"size": 256,
|
| 114 |
+
"source_sha256": "62514a521cb0e8893f31ac15ceae6cf8c7e0014becc56297f816a4a92534ef10",
|
| 115 |
+
"ab_mae": 0.46357887983322144,
|
| 116 |
+
"ab_rmse": 0.5573716759681702,
|
| 117 |
+
"rgb_mae_255": 0.6278091073036194,
|
| 118 |
+
"rgb_psnr_db": 48.983719375726935,
|
| 119 |
+
"rgb_max_difference": 17.0
|
| 120 |
+
},
|
| 121 |
+
{
|
| 122 |
+
"name": "coco_1018.jpg",
|
| 123 |
+
"subset": "COCO_holdout",
|
| 124 |
+
"size": 256,
|
| 125 |
+
"source_sha256": "b73523841e0dd790e28cfb7b74fa2081ac156e012f56aa6a63ddcb3a9545a8a1",
|
| 126 |
+
"ab_mae": 0.3109256327152252,
|
| 127 |
+
"ab_rmse": 0.4348927438259125,
|
| 128 |
+
"rgb_mae_255": 0.4163520038127899,
|
| 129 |
+
"rgb_psnr_db": 50.87751257135651,
|
| 130 |
+
"rgb_max_difference": 4.0
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"name": "coco_1019.jpg",
|
| 134 |
+
"subset": "COCO_holdout",
|
| 135 |
+
"size": 256,
|
| 136 |
+
"source_sha256": "70d31beda1c0e3ac96190f69cdae7d39f630a29f4ec337a953ddb4964906ff26",
|
| 137 |
+
"ab_mae": 1.3901846408843994,
|
| 138 |
+
"ab_rmse": 2.271627902984619,
|
| 139 |
+
"rgb_mae_255": 2.0989809036254883,
|
| 140 |
+
"rgb_psnr_db": 37.362474074968134,
|
| 141 |
+
"rgb_max_difference": 16.0
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"name": "coco_1020.jpg",
|
| 145 |
+
"subset": "COCO_holdout",
|
| 146 |
+
"size": 256,
|
| 147 |
+
"source_sha256": "a74acfa520a4671317fab07f68c63abf714dce2e438788c20119689f31714276",
|
| 148 |
+
"ab_mae": 0.2574012577533722,
|
| 149 |
+
"ab_rmse": 0.36370617151260376,
|
| 150 |
+
"rgb_mae_255": 0.312120646238327,
|
| 151 |
+
"rgb_psnr_db": 52.578288975010196,
|
| 152 |
+
"rgb_max_difference": 4.0
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"name": "coco_1021.jpg",
|
| 156 |
+
"subset": "COCO_holdout",
|
| 157 |
+
"size": 256,
|
| 158 |
+
"source_sha256": "8da481be6fa26b297404f910c24038491e468411a54ac61e8de8c6b81124c3b5",
|
| 159 |
+
"ab_mae": 1.204186201095581,
|
| 160 |
+
"ab_rmse": 1.4969717264175415,
|
| 161 |
+
"rgb_mae_255": 1.8099616765975952,
|
| 162 |
+
"rgb_psnr_db": 40.304456548350714,
|
| 163 |
+
"rgb_max_difference": 38.0
|
| 164 |
+
},
|
| 165 |
+
{
|
| 166 |
+
"name": "coco_1022.jpg",
|
| 167 |
+
"subset": "COCO_holdout",
|
| 168 |
+
"size": 256,
|
| 169 |
+
"source_sha256": "90e67a670819e51c44a785a3ed26547200cab180dcd2098c486c8020cb3c312f",
|
| 170 |
+
"ab_mae": 0.543946385383606,
|
| 171 |
+
"ab_rmse": 0.7917636632919312,
|
| 172 |
+
"rgb_mae_255": 0.7019747495651245,
|
| 173 |
+
"rgb_psnr_db": 46.88338324498868,
|
| 174 |
+
"rgb_max_difference": 5.0
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"name": "coco_1023.jpg",
|
| 178 |
+
"subset": "COCO_holdout",
|
| 179 |
+
"size": 256,
|
| 180 |
+
"source_sha256": "0c2172fdc1e19e2b2c7f9ab8126f0e850f354ce50b02c58292891b2619bf5528",
|
| 181 |
+
"ab_mae": 0.36013785004615784,
|
| 182 |
+
"ab_rmse": 0.4305912256240845,
|
| 183 |
+
"rgb_mae_255": 0.430391788482666,
|
| 184 |
+
"rgb_psnr_db": 51.29392640387959,
|
| 185 |
+
"rgb_max_difference": 5.0
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"name": "coco_1024.jpg",
|
| 189 |
+
"subset": "COCO_holdout",
|
| 190 |
+
"size": 256,
|
| 191 |
+
"source_sha256": "e20ee8a186a94b03a7ea3f55d4b097ec2fe7a21db29df61073c31f0e38fbb958",
|
| 192 |
+
"ab_mae": 0.75190269947052,
|
| 193 |
+
"ab_rmse": 1.0529677867889404,
|
| 194 |
+
"rgb_mae_255": 0.9660502672195435,
|
| 195 |
+
"rgb_psnr_db": 44.79124703503622,
|
| 196 |
+
"rgb_max_difference": 5.0
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"name": "coco_1025.jpg",
|
| 200 |
+
"subset": "COCO_holdout",
|
| 201 |
+
"size": 256,
|
| 202 |
+
"source_sha256": "7c6831c461d6873281520ae1870bb780e113bee5d87e6a8f4423576eeab43ed5",
|
| 203 |
+
"ab_mae": 0.8509075045585632,
|
| 204 |
+
"ab_rmse": 1.2475544214248657,
|
| 205 |
+
"rgb_mae_255": 1.1225998401641846,
|
| 206 |
+
"rgb_psnr_db": 42.894967538396045,
|
| 207 |
+
"rgb_max_difference": 22.0
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"name": "coco_1026.jpg",
|
| 211 |
+
"subset": "COCO_holdout",
|
| 212 |
+
"size": 256,
|
| 213 |
+
"source_sha256": "25f106ec83ccc0525071ab67706096e8e692dd651830982ffb297ebffa0be400",
|
| 214 |
+
"ab_mae": 0.1293753832578659,
|
| 215 |
+
"ab_rmse": 0.17197023332118988,
|
| 216 |
+
"rgb_mae_255": 0.20865125954151154,
|
| 217 |
+
"rgb_psnr_db": 54.928650791455624,
|
| 218 |
+
"rgb_max_difference": 2.0
|
| 219 |
+
},
|
| 220 |
+
{
|
| 221 |
+
"name": "coco_1027.jpg",
|
| 222 |
+
"subset": "COCO_holdout",
|
| 223 |
+
"size": 256,
|
| 224 |
+
"source_sha256": "0d047d971e6e3988a1b85b3b0b46fdf9c9d12d71c6ac3e8f1ef0165a90d54044",
|
| 225 |
+
"ab_mae": 0.19230468571186066,
|
| 226 |
+
"ab_rmse": 0.26656872034072876,
|
| 227 |
+
"rgb_mae_255": 0.302245169878006,
|
| 228 |
+
"rgb_psnr_db": 53.08889676690083,
|
| 229 |
+
"rgb_max_difference": 2.0
|
| 230 |
+
},
|
| 231 |
+
{
|
| 232 |
+
"name": "coco_1028.jpg",
|
| 233 |
+
"subset": "COCO_holdout",
|
| 234 |
+
"size": 256,
|
| 235 |
+
"source_sha256": "520fc714c72300233fbeef5ef510d533db8fcdcb4c092c51e4464a399c168520",
|
| 236 |
+
"ab_mae": 0.3658325672149658,
|
| 237 |
+
"ab_rmse": 0.554839551448822,
|
| 238 |
+
"rgb_mae_255": 0.496385782957077,
|
| 239 |
+
"rgb_psnr_db": 49.35532925319812,
|
| 240 |
+
"rgb_max_difference": 3.0
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"name": "coco_1029.jpg",
|
| 244 |
+
"subset": "COCO_holdout",
|
| 245 |
+
"size": 256,
|
| 246 |
+
"source_sha256": "1ab2da55c02fdcadfdf354add82500fcd5edb1e7a122bed15b89db29438680f3",
|
| 247 |
+
"ab_mae": 0.5959140062332153,
|
| 248 |
+
"ab_rmse": 0.8622536659240723,
|
| 249 |
+
"rgb_mae_255": 0.8481345176696777,
|
| 250 |
+
"rgb_psnr_db": 45.80943869320346,
|
| 251 |
+
"rgb_max_difference": 7.0
|
| 252 |
+
},
|
| 253 |
+
{
|
| 254 |
+
"name": "coco_1030.jpg",
|
| 255 |
+
"subset": "COCO_holdout",
|
| 256 |
+
"size": 256,
|
| 257 |
+
"source_sha256": "46461c0fa808ae9c733bb4a4940d3cac1abcef1949cb5e2dc83dc9dc9fcd0b01",
|
| 258 |
+
"ab_mae": 0.86104416847229,
|
| 259 |
+
"ab_rmse": 0.9469084143638611,
|
| 260 |
+
"rgb_mae_255": 0.9767776727676392,
|
| 261 |
+
"rgb_psnr_db": 46.25348714567142,
|
| 262 |
+
"rgb_max_difference": 5.0
|
| 263 |
+
},
|
| 264 |
+
{
|
| 265 |
+
"name": "coco_1031.jpg",
|
| 266 |
+
"subset": "COCO_holdout",
|
| 267 |
+
"size": 256,
|
| 268 |
+
"source_sha256": "af15371bf710dd3b772f372b33fd231851c92490c639e30c53d2d783e53baa83",
|
| 269 |
+
"ab_mae": 0.48116040229797363,
|
| 270 |
+
"ab_rmse": 0.658679723739624,
|
| 271 |
+
"rgb_mae_255": 0.639999270439148,
|
| 272 |
+
"rgb_psnr_db": 48.19268585158528,
|
| 273 |
+
"rgb_max_difference": 6.0
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"name": "coco_1032.jpg",
|
| 277 |
+
"subset": "COCO_holdout",
|
| 278 |
+
"size": 256,
|
| 279 |
+
"source_sha256": "d2dd4d77bad4f711f6d2f1ec9359c2d35cb406030f6a42ab40f8a2d4ec5d4aa2",
|
| 280 |
+
"ab_mae": 0.5720202326774597,
|
| 281 |
+
"ab_rmse": 0.7728058099746704,
|
| 282 |
+
"rgb_mae_255": 0.8704209923744202,
|
| 283 |
+
"rgb_psnr_db": 46.00870779038892,
|
| 284 |
+
"rgb_max_difference": 4.0
|
| 285 |
+
},
|
| 286 |
+
{
|
| 287 |
+
"name": "coco_1033.jpg",
|
| 288 |
+
"subset": "COCO_holdout",
|
| 289 |
+
"size": 256,
|
| 290 |
+
"source_sha256": "04552f99af3ea5df5df0c22c1d8ae6f5a8b02a743c96d92f7bc658c7eebcfd03",
|
| 291 |
+
"ab_mae": 0.44058728218078613,
|
| 292 |
+
"ab_rmse": 0.5154173374176025,
|
| 293 |
+
"rgb_mae_255": 0.6381745338439941,
|
| 294 |
+
"rgb_psnr_db": 49.221256207089084,
|
| 295 |
+
"rgb_max_difference": 3.0
|
| 296 |
+
},
|
| 297 |
+
{
|
| 298 |
+
"name": "coco_1034.jpg",
|
| 299 |
+
"subset": "COCO_holdout",
|
| 300 |
+
"size": 256,
|
| 301 |
+
"source_sha256": "e5a21669fcd6bb3dc5e43b8f69e38a55c6d3dc19e3c0f4de596b47ffd2fc18b4",
|
| 302 |
+
"ab_mae": 0.5219040513038635,
|
| 303 |
+
"ab_rmse": 0.7026798129081726,
|
| 304 |
+
"rgb_mae_255": 0.6319293975830078,
|
| 305 |
+
"rgb_psnr_db": 48.38567616442334,
|
| 306 |
+
"rgb_max_difference": 5.0
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"name": "coco_1035.jpg",
|
| 310 |
+
"subset": "COCO_holdout",
|
| 311 |
+
"size": 256,
|
| 312 |
+
"source_sha256": "de20da780296358ea7c8483a9ad12af1420015e8e586ba54aff79873168abed2",
|
| 313 |
+
"ab_mae": 0.6211705803871155,
|
| 314 |
+
"ab_rmse": 0.776999831199646,
|
| 315 |
+
"rgb_mae_255": 0.7443305253982544,
|
| 316 |
+
"rgb_psnr_db": 47.181454378076495,
|
| 317 |
+
"rgb_max_difference": 7.0
|
| 318 |
+
},
|
| 319 |
+
{
|
| 320 |
+
"name": "coco_1036.jpg",
|
| 321 |
+
"subset": "COCO_holdout",
|
| 322 |
+
"size": 256,
|
| 323 |
+
"source_sha256": "02c8a1148f95011bb0baea846669dbfc0cfa3eb12fa22d4436c235a331fb1cc2",
|
| 324 |
+
"ab_mae": 0.29657837748527527,
|
| 325 |
+
"ab_rmse": 0.3883953094482422,
|
| 326 |
+
"rgb_mae_255": 0.3387385308742523,
|
| 327 |
+
"rgb_psnr_db": 52.006603265733474,
|
| 328 |
+
"rgb_max_difference": 3.0
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"name": "coco_1037.jpg",
|
| 332 |
+
"subset": "COCO_holdout",
|
| 333 |
+
"size": 256,
|
| 334 |
+
"source_sha256": "91e1b67b63c6fa562a10b38d1336480695dc8d577f6dfd3b54c7d532a3c35df2",
|
| 335 |
+
"ab_mae": 1.048445701599121,
|
| 336 |
+
"ab_rmse": 1.4682464599609375,
|
| 337 |
+
"rgb_mae_255": 1.6269237995147705,
|
| 338 |
+
"rgb_psnr_db": 40.80610246068396,
|
| 339 |
+
"rgb_max_difference": 9.0
|
| 340 |
+
},
|
| 341 |
+
{
|
| 342 |
+
"name": "coco_1038.jpg",
|
| 343 |
+
"subset": "COCO_holdout",
|
| 344 |
+
"size": 256,
|
| 345 |
+
"source_sha256": "4fa3aab23ce3814a1da7f65ce615000413900e0f915daaf420c3af64a6bf6e93",
|
| 346 |
+
"ab_mae": 0.6959782242774963,
|
| 347 |
+
"ab_rmse": 0.9374401569366455,
|
| 348 |
+
"rgb_mae_255": 0.7775381207466125,
|
| 349 |
+
"rgb_psnr_db": 46.841396023388995,
|
| 350 |
+
"rgb_max_difference": 5.0
|
| 351 |
+
},
|
| 352 |
+
{
|
| 353 |
+
"name": "coco_1039.jpg",
|
| 354 |
+
"subset": "COCO_holdout",
|
| 355 |
+
"size": 256,
|
| 356 |
+
"source_sha256": "100e3482a768dddcdccb9603682ae0b00921a31854d86b8924e7fc723bcbacac",
|
| 357 |
+
"ab_mae": 0.7254564166069031,
|
| 358 |
+
"ab_rmse": 1.0206735134124756,
|
| 359 |
+
"rgb_mae_255": 0.967242419719696,
|
| 360 |
+
"rgb_psnr_db": 44.810259343230115,
|
| 361 |
+
"rgb_max_difference": 9.0
|
| 362 |
+
},
|
| 363 |
+
{
|
| 364 |
+
"name": "coco_1040.jpg",
|
| 365 |
+
"subset": "COCO_holdout",
|
| 366 |
+
"size": 256,
|
| 367 |
+
"source_sha256": "719de8aa010bb47e2e7de74ffefbdbf60b8414c5e23c81dec8d95e3f2c75d21f",
|
| 368 |
+
"ab_mae": 0.353073388338089,
|
| 369 |
+
"ab_rmse": 0.5829923152923584,
|
| 370 |
+
"rgb_mae_255": 0.4297240972518921,
|
| 371 |
+
"rgb_psnr_db": 48.952116178497505,
|
| 372 |
+
"rgb_max_difference": 9.0
|
| 373 |
+
},
|
| 374 |
+
{
|
| 375 |
+
"name": "coco_1041.jpg",
|
| 376 |
+
"subset": "COCO_holdout",
|
| 377 |
+
"size": 256,
|
| 378 |
+
"source_sha256": "c3f1e039b14bec40394cec0cdcaf31f06c71cbe2723276731b209a16d0d39f11",
|
| 379 |
+
"ab_mae": 0.28588947653770447,
|
| 380 |
+
"ab_rmse": 0.37288206815719604,
|
| 381 |
+
"rgb_mae_255": 0.4098382294178009,
|
| 382 |
+
"rgb_psnr_db": 51.47348469579973,
|
| 383 |
+
"rgb_max_difference": 3.0
|
| 384 |
+
},
|
| 385 |
+
{
|
| 386 |
+
"name": "coco_1042.jpg",
|
| 387 |
+
"subset": "COCO_holdout",
|
| 388 |
+
"size": 256,
|
| 389 |
+
"source_sha256": "00216d5dab636b6ca7603009a7efa54784d43670a6606d478abd8a88627b78a6",
|
| 390 |
+
"ab_mae": 0.6486522555351257,
|
| 391 |
+
"ab_rmse": 0.7951579689979553,
|
| 392 |
+
"rgb_mae_255": 0.896253228187561,
|
| 393 |
+
"rgb_psnr_db": 46.3277692825903,
|
| 394 |
+
"rgb_max_difference": 12.0
|
| 395 |
+
},
|
| 396 |
+
{
|
| 397 |
+
"name": "coco_1043.jpg",
|
| 398 |
+
"subset": "COCO_holdout",
|
| 399 |
+
"size": 256,
|
| 400 |
+
"source_sha256": "7cc3c7f7b8412661bb9010a294331533391d99cc637ae25802167600140150a1",
|
| 401 |
+
"ab_mae": 0.47596025466918945,
|
| 402 |
+
"ab_rmse": 0.6496351957321167,
|
| 403 |
+
"rgb_mae_255": 0.731968343257904,
|
| 404 |
+
"rgb_psnr_db": 47.74910016061982,
|
| 405 |
+
"rgb_max_difference": 6.0
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"name": "coco_1044.jpg",
|
| 409 |
+
"subset": "COCO_holdout",
|
| 410 |
+
"size": 256,
|
| 411 |
+
"source_sha256": "062326d314aaea6fc36f5d3c2472bfb4359a8acbff9ce72c866e94687d78f072",
|
| 412 |
+
"ab_mae": 0.9421135187149048,
|
| 413 |
+
"ab_rmse": 1.3336637020111084,
|
| 414 |
+
"rgb_mae_255": 1.0952978134155273,
|
| 415 |
+
"rgb_psnr_db": 42.37708462751998,
|
| 416 |
+
"rgb_max_difference": 10.0
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"name": "coco_1045.jpg",
|
| 420 |
+
"subset": "COCO_holdout",
|
| 421 |
+
"size": 256,
|
| 422 |
+
"source_sha256": "1f82b10e98e4c851d635f1c417adeff94310bfe3d51fd52a3195a8b132df7da8",
|
| 423 |
+
"ab_mae": 0.8920404314994812,
|
| 424 |
+
"ab_rmse": 1.0348516702651978,
|
| 425 |
+
"rgb_mae_255": 1.2732856273651123,
|
| 426 |
+
"rgb_psnr_db": 44.06520211137426,
|
| 427 |
+
"rgb_max_difference": 7.0
|
| 428 |
+
},
|
| 429 |
+
{
|
| 430 |
+
"name": "coco_1046.jpg",
|
| 431 |
+
"subset": "COCO_holdout",
|
| 432 |
+
"size": 256,
|
| 433 |
+
"source_sha256": "e83dde80a931fea2a83dc34b77e40b492e7681957f4d72491f7f7fdd5cc215b6",
|
| 434 |
+
"ab_mae": 0.5578994154930115,
|
| 435 |
+
"ab_rmse": 0.815567672252655,
|
| 436 |
+
"rgb_mae_255": 0.7353493571281433,
|
| 437 |
+
"rgb_psnr_db": 46.968576439315186,
|
| 438 |
+
"rgb_max_difference": 6.0
|
| 439 |
+
},
|
| 440 |
+
{
|
| 441 |
+
"name": "coco_1047.jpg",
|
| 442 |
+
"subset": "COCO_holdout",
|
| 443 |
+
"size": 256,
|
| 444 |
+
"source_sha256": "586beec9cea94bff35cc953ae63f759cfe3a354073565ab8cb6e7467cc93584e",
|
| 445 |
+
"ab_mae": 0.229619100689888,
|
| 446 |
+
"ab_rmse": 0.36222273111343384,
|
| 447 |
+
"rgb_mae_255": 0.28020617365837097,
|
| 448 |
+
"rgb_psnr_db": 52.68379983490156,
|
| 449 |
+
"rgb_max_difference": 5.0
|
| 450 |
+
},
|
| 451 |
+
{
|
| 452 |
+
"name": "coco_1048.jpg",
|
| 453 |
+
"subset": "COCO_holdout",
|
| 454 |
+
"size": 256,
|
| 455 |
+
"source_sha256": "8d5a4b2e84e045a974113175429619a0a0118f6f0b95124d53057c733f4ff8d1",
|
| 456 |
+
"ab_mae": 0.28267085552215576,
|
| 457 |
+
"ab_rmse": 0.37151944637298584,
|
| 458 |
+
"rgb_mae_255": 0.32983264327049255,
|
| 459 |
+
"rgb_psnr_db": 52.574352325090956,
|
| 460 |
+
"rgb_max_difference": 4.0
|
| 461 |
+
},
|
| 462 |
+
{
|
| 463 |
+
"name": "coco_1049.jpg",
|
| 464 |
+
"subset": "COCO_holdout",
|
| 465 |
+
"size": 256,
|
| 466 |
+
"source_sha256": "8b2a835c070f5f495c040a9a3a885b04f749fa127bd46f187a0c51c614607119",
|
| 467 |
+
"ab_mae": 0.6253822445869446,
|
| 468 |
+
"ab_rmse": 0.8146377801895142,
|
| 469 |
+
"rgb_mae_255": 0.7677653431892395,
|
| 470 |
+
"rgb_psnr_db": 47.49469815470657,
|
| 471 |
+
"rgb_max_difference": 5.0
|
| 472 |
+
},
|
| 473 |
+
{
|
| 474 |
+
"name": "coco_1050.jpg",
|
| 475 |
+
"subset": "COCO_holdout",
|
| 476 |
+
"size": 256,
|
| 477 |
+
"source_sha256": "03c01abd085af9560028d708866dd25d95b4f9fbdc0294140b703d50a494d5d5",
|
| 478 |
+
"ab_mae": 0.5730293989181519,
|
| 479 |
+
"ab_rmse": 0.6969890594482422,
|
| 480 |
+
"rgb_mae_255": 0.7968941926956177,
|
| 481 |
+
"rgb_psnr_db": 47.251368557496356,
|
| 482 |
+
"rgb_max_difference": 5.0
|
| 483 |
+
},
|
| 484 |
+
{
|
| 485 |
+
"name": "coco_1051.jpg",
|
| 486 |
+
"subset": "COCO_holdout",
|
| 487 |
+
"size": 256,
|
| 488 |
+
"source_sha256": "2c482d365623b18f877b90eea879331d4d11f8c9f8b13f058aa8cb1ef31cb58d",
|
| 489 |
+
"ab_mae": 0.6537476778030396,
|
| 490 |
+
"ab_rmse": 0.8099928498268127,
|
| 491 |
+
"rgb_mae_255": 0.7819519639015198,
|
| 492 |
+
"rgb_psnr_db": 47.18831360392143,
|
| 493 |
+
"rgb_max_difference": 5.0
|
| 494 |
+
},
|
| 495 |
+
{
|
| 496 |
+
"name": "coco_1052.jpg",
|
| 497 |
+
"subset": "COCO_holdout",
|
| 498 |
+
"size": 256,
|
| 499 |
+
"source_sha256": "f128deccbf3e1043c473351db3d0510e6ecc82329600e41938b31615f30bb4a1",
|
| 500 |
+
"ab_mae": 0.3511921167373657,
|
| 501 |
+
"ab_rmse": 0.48037898540496826,
|
| 502 |
+
"rgb_mae_255": 0.4295497238636017,
|
| 503 |
+
"rgb_psnr_db": 50.58121476764526,
|
| 504 |
+
"rgb_max_difference": 3.0
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"name": "coco_1053.jpg",
|
| 508 |
+
"subset": "COCO_holdout",
|
| 509 |
+
"size": 256,
|
| 510 |
+
"source_sha256": "84a82f3d3f5ae226acf812bf26bca99e4a7e845e608c4caba85d5f3ffdc339df",
|
| 511 |
+
"ab_mae": 1.048168659210205,
|
| 512 |
+
"ab_rmse": 1.2802841663360596,
|
| 513 |
+
"rgb_mae_255": 1.349549651145935,
|
| 514 |
+
"rgb_psnr_db": 42.66947685731495,
|
| 515 |
+
"rgb_max_difference": 24.0
|
| 516 |
+
},
|
| 517 |
+
{
|
| 518 |
+
"name": "coco_1054.jpg",
|
| 519 |
+
"subset": "COCO_holdout",
|
| 520 |
+
"size": 256,
|
| 521 |
+
"source_sha256": "932fcc2cd5cfba5a45af33e3530590accfff799088d6555642efc2404a98baaa",
|
| 522 |
+
"ab_mae": 0.3246843218803406,
|
| 523 |
+
"ab_rmse": 0.49376380443573,
|
| 524 |
+
"rgb_mae_255": 0.40068474411964417,
|
| 525 |
+
"rgb_psnr_db": 50.817906322689694,
|
| 526 |
+
"rgb_max_difference": 4.0
|
| 527 |
+
},
|
| 528 |
+
{
|
| 529 |
+
"name": "coco_1055.jpg",
|
| 530 |
+
"subset": "COCO_holdout",
|
| 531 |
+
"size": 256,
|
| 532 |
+
"source_sha256": "8e1b28f0733588b23def605e03860e6b34328f2b231970e7fd59912f4b3e7005",
|
| 533 |
+
"ab_mae": 0.5213963985443115,
|
| 534 |
+
"ab_rmse": 0.7230475544929504,
|
| 535 |
+
"rgb_mae_255": 0.6850080490112305,
|
| 536 |
+
"rgb_psnr_db": 47.50479203068523,
|
| 537 |
+
"rgb_max_difference": 5.0
|
| 538 |
+
},
|
| 539 |
+
{
|
| 540 |
+
"name": "coco_1056.jpg",
|
| 541 |
+
"subset": "COCO_holdout",
|
| 542 |
+
"size": 256,
|
| 543 |
+
"source_sha256": "72e91c9eea461ca5656b3f8df0ffb7d03c6d151d1778295f0534e501853a0f0c",
|
| 544 |
+
"ab_mae": 2.1831459999084473,
|
| 545 |
+
"ab_rmse": 2.8584671020507812,
|
| 546 |
+
"rgb_mae_255": 2.98801589012146,
|
| 547 |
+
"rgb_psnr_db": 35.85841242699141,
|
| 548 |
+
"rgb_max_difference": 18.0
|
| 549 |
+
},
|
| 550 |
+
{
|
| 551 |
+
"name": "coco_1057.jpg",
|
| 552 |
+
"subset": "COCO_holdout",
|
| 553 |
+
"size": 256,
|
| 554 |
+
"source_sha256": "e101bdf508bf0a74adb38301dc97cb0612fa95a84e2a660eb97749b31edec18a",
|
| 555 |
+
"ab_mae": 0.7829222679138184,
|
| 556 |
+
"ab_rmse": 1.1600793600082397,
|
| 557 |
+
"rgb_mae_255": 1.1945466995239258,
|
| 558 |
+
"rgb_psnr_db": 42.77879854575258,
|
| 559 |
+
"rgb_max_difference": 9.0
|
| 560 |
+
},
|
| 561 |
+
{
|
| 562 |
+
"name": "coco_1058.jpg",
|
| 563 |
+
"subset": "COCO_holdout",
|
| 564 |
+
"size": 256,
|
| 565 |
+
"source_sha256": "2818f1c1caaf4583919d4a6723350b588f272e06295eb3bedd83623ccad833e5",
|
| 566 |
+
"ab_mae": 0.8312724232673645,
|
| 567 |
+
"ab_rmse": 1.1431342363357544,
|
| 568 |
+
"rgb_mae_255": 0.9047533869743347,
|
| 569 |
+
"rgb_psnr_db": 44.11219256345834,
|
| 570 |
+
"rgb_max_difference": 15.0
|
| 571 |
+
},
|
| 572 |
+
{
|
| 573 |
+
"name": "coco_1059.jpg",
|
| 574 |
+
"subset": "COCO_holdout",
|
| 575 |
+
"size": 256,
|
| 576 |
+
"source_sha256": "9551e30c4b72c2c8034424d1da07d5ca23a6f8f27462c2402561e2d83a039069",
|
| 577 |
+
"ab_mae": 0.7320425510406494,
|
| 578 |
+
"ab_rmse": 0.9694391489028931,
|
| 579 |
+
"rgb_mae_255": 1.043619155883789,
|
| 580 |
+
"rgb_psnr_db": 44.66711942796674,
|
| 581 |
+
"rgb_max_difference": 6.0
|
| 582 |
+
},
|
| 583 |
+
{
|
| 584 |
+
"name": "coco_1060.jpg",
|
| 585 |
+
"subset": "COCO_holdout",
|
| 586 |
+
"size": 256,
|
| 587 |
+
"source_sha256": "c7953700dc8004aacbff68cb8b2c33e88a29b0ee21110bc66b06bcefae8ca636",
|
| 588 |
+
"ab_mae": 0.32508137822151184,
|
| 589 |
+
"ab_rmse": 0.4312102794647217,
|
| 590 |
+
"rgb_mae_255": 0.351641982793808,
|
| 591 |
+
"rgb_psnr_db": 52.206696967775315,
|
| 592 |
+
"rgb_max_difference": 3.0
|
| 593 |
+
},
|
| 594 |
+
{
|
| 595 |
+
"name": "coco_1061.jpg",
|
| 596 |
+
"subset": "COCO_holdout",
|
| 597 |
+
"size": 256,
|
| 598 |
+
"source_sha256": "05435cdebe50a959e357ddd3eb9621559934b8761d3526e57fd9170658ce3d93",
|
| 599 |
+
"ab_mae": 0.32836607098579407,
|
| 600 |
+
"ab_rmse": 0.4034212529659271,
|
| 601 |
+
"rgb_mae_255": 0.3910970091819763,
|
| 602 |
+
"rgb_psnr_db": 51.83733385774279,
|
| 603 |
+
"rgb_max_difference": 3.0
|
| 604 |
+
},
|
| 605 |
+
{
|
| 606 |
+
"name": "coco_1062.jpg",
|
| 607 |
+
"subset": "COCO_holdout",
|
| 608 |
+
"size": 256,
|
| 609 |
+
"source_sha256": "e0f6ceccdafeb5578deb7876cbfaa0a19f44a19f580b7123c865a941b6e9dcee",
|
| 610 |
+
"ab_mae": 0.3735934793949127,
|
| 611 |
+
"ab_rmse": 0.46995747089385986,
|
| 612 |
+
"rgb_mae_255": 0.6125932931900024,
|
| 613 |
+
"rgb_psnr_db": 48.44860969118368,
|
| 614 |
+
"rgb_max_difference": 6.0
|
| 615 |
+
},
|
| 616 |
+
{
|
| 617 |
+
"name": "coco_1063.jpg",
|
| 618 |
+
"subset": "COCO_holdout",
|
| 619 |
+
"size": 256,
|
| 620 |
+
"source_sha256": "63f866d3b8b97d1087131c18b9f80662ccf10bf864e1a20d64ff733ac731e2e1",
|
| 621 |
+
"ab_mae": 0.26975545287132263,
|
| 622 |
+
"ab_rmse": 0.3394005298614502,
|
| 623 |
+
"rgb_mae_255": 0.3309558928012848,
|
| 624 |
+
"rgb_psnr_db": 52.70306774507186,
|
| 625 |
+
"rgb_max_difference": 5.0
|
| 626 |
+
},
|
| 627 |
+
{
|
| 628 |
+
"name": "coco_1064.jpg",
|
| 629 |
+
"subset": "COCO_holdout",
|
| 630 |
+
"size": 256,
|
| 631 |
+
"source_sha256": "bbd1f8687deeaa813f2b57509dabb1e87f7ba532f06c8e79868cc7f1453d0bc1",
|
| 632 |
+
"ab_mae": 0.8908953070640564,
|
| 633 |
+
"ab_rmse": 1.110667109489441,
|
| 634 |
+
"rgb_mae_255": 1.2832040786743164,
|
| 635 |
+
"rgb_psnr_db": 43.30378890377353,
|
| 636 |
+
"rgb_max_difference": 5.0
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"name": "coco_1065.jpg",
|
| 640 |
+
"subset": "COCO_holdout",
|
| 641 |
+
"size": 256,
|
| 642 |
+
"source_sha256": "4434c715aa868745ed8d4506dfd812da5e0e6fdf0fba8250c7bded4cd15337b8",
|
| 643 |
+
"ab_mae": 0.14240413904190063,
|
| 644 |
+
"ab_rmse": 0.1986604779958725,
|
| 645 |
+
"rgb_mae_255": 0.18697550892829895,
|
| 646 |
+
"rgb_psnr_db": 55.411653443308296,
|
| 647 |
+
"rgb_max_difference": 2.0
|
| 648 |
+
},
|
| 649 |
+
{
|
| 650 |
+
"name": "coco_1066.jpg",
|
| 651 |
+
"subset": "COCO_holdout",
|
| 652 |
+
"size": 256,
|
| 653 |
+
"source_sha256": "14794d8f9a4d7241f55e3dc15794a8063b83bbc0ae95f4b787aca5891a48bc3b",
|
| 654 |
+
"ab_mae": 0.4939364194869995,
|
| 655 |
+
"ab_rmse": 0.6235232353210449,
|
| 656 |
+
"rgb_mae_255": 0.7928873896598816,
|
| 657 |
+
"rgb_psnr_db": 46.438275796567254,
|
| 658 |
+
"rgb_max_difference": 5.0
|
| 659 |
+
},
|
| 660 |
+
{
|
| 661 |
+
"name": "coco_1067.jpg",
|
| 662 |
+
"subset": "COCO_holdout",
|
| 663 |
+
"size": 256,
|
| 664 |
+
"source_sha256": "f6f2620707df79c606e0c1cfab462860ece49bee7768f0fb2dbdfac7bdf8346e",
|
| 665 |
+
"ab_mae": 0.1879967451095581,
|
| 666 |
+
"ab_rmse": 0.29431673884391785,
|
| 667 |
+
"rgb_mae_255": 0.22250759601593018,
|
| 668 |
+
"rgb_psnr_db": 54.23877738675412,
|
| 669 |
+
"rgb_max_difference": 3.0
|
| 670 |
+
},
|
| 671 |
+
{
|
| 672 |
+
"name": "coco_1068.jpg",
|
| 673 |
+
"subset": "COCO_holdout",
|
| 674 |
+
"size": 256,
|
| 675 |
+
"source_sha256": "fa32398a8441c2a27f5047bc2ad2f9144127f10f2c6663b22f0701679e8e97c3",
|
| 676 |
+
"ab_mae": 0.30755534768104553,
|
| 677 |
+
"ab_rmse": 0.4232846796512604,
|
| 678 |
+
"rgb_mae_255": 0.414189875125885,
|
| 679 |
+
"rgb_psnr_db": 51.057234237954326,
|
| 680 |
+
"rgb_max_difference": 4.0
|
| 681 |
+
},
|
| 682 |
+
{
|
| 683 |
+
"name": "coco_1069.jpg",
|
| 684 |
+
"subset": "COCO_holdout",
|
| 685 |
+
"size": 256,
|
| 686 |
+
"source_sha256": "6eda0abfc23d8612800893b44c5a1fe8a4ceb0c43cfc86a3c0deac9a0681c53e",
|
| 687 |
+
"ab_mae": 0.2967095375061035,
|
| 688 |
+
"ab_rmse": 0.3827492594718933,
|
| 689 |
+
"rgb_mae_255": 0.36820080876350403,
|
| 690 |
+
"rgb_psnr_db": 51.99739590776551,
|
| 691 |
+
"rgb_max_difference": 11.0
|
| 692 |
+
},
|
| 693 |
+
{
|
| 694 |
+
"name": "coco_1070.jpg",
|
| 695 |
+
"subset": "COCO_holdout",
|
| 696 |
+
"size": 256,
|
| 697 |
+
"source_sha256": "9e5b2e1a12413fa4365e34a459369de6b05b3fe03dea5fe094bd579692413104",
|
| 698 |
+
"ab_mae": 0.4261647164821625,
|
| 699 |
+
"ab_rmse": 0.5248377323150635,
|
| 700 |
+
"rgb_mae_255": 0.652355432510376,
|
| 701 |
+
"rgb_psnr_db": 48.546061720769956,
|
| 702 |
+
"rgb_max_difference": 4.0
|
| 703 |
+
},
|
| 704 |
+
{
|
| 705 |
+
"name": "coco_1071.jpg",
|
| 706 |
+
"subset": "COCO_holdout",
|
| 707 |
+
"size": 256,
|
| 708 |
+
"source_sha256": "8d3945f3c30be9a21aed6e9808f39e74a46bb20198f7bd29e24f4279e716af1e",
|
| 709 |
+
"ab_mae": 0.8692493438720703,
|
| 710 |
+
"ab_rmse": 1.1637614965438843,
|
| 711 |
+
"rgb_mae_255": 1.2661339044570923,
|
| 712 |
+
"rgb_psnr_db": 43.01175399581257,
|
| 713 |
+
"rgb_max_difference": 6.0
|
| 714 |
+
},
|
| 715 |
+
{
|
| 716 |
+
"name": "coco_1072.jpg",
|
| 717 |
+
"subset": "COCO_holdout",
|
| 718 |
+
"size": 256,
|
| 719 |
+
"source_sha256": "4f3aa179879b53163772b1866e1790e98f36ddc384ee8dace37ec468b604dcba",
|
| 720 |
+
"ab_mae": 0.5333219170570374,
|
| 721 |
+
"ab_rmse": 0.6932693719863892,
|
| 722 |
+
"rgb_mae_255": 0.7168706655502319,
|
| 723 |
+
"rgb_psnr_db": 47.639591421682475,
|
| 724 |
+
"rgb_max_difference": 5.0
|
| 725 |
+
},
|
| 726 |
+
{
|
| 727 |
+
"name": "coco_1073.jpg",
|
| 728 |
+
"subset": "COCO_holdout",
|
| 729 |
+
"size": 256,
|
| 730 |
+
"source_sha256": "d35dac662f828ab1b671f9acafaea3f1cc1992e231811806119fe3a063896471",
|
| 731 |
+
"ab_mae": 0.4666561186313629,
|
| 732 |
+
"ab_rmse": 0.6421653032302856,
|
| 733 |
+
"rgb_mae_255": 0.562593400478363,
|
| 734 |
+
"rgb_psnr_db": 49.05380682816582,
|
| 735 |
+
"rgb_max_difference": 5.0
|
| 736 |
+
},
|
| 737 |
+
{
|
| 738 |
+
"name": "coco_1074.jpg",
|
| 739 |
+
"subset": "COCO_holdout",
|
| 740 |
+
"size": 256,
|
| 741 |
+
"source_sha256": "a02be69d9dbaf2ebb1e21950d1a0c54238ea6b479b8200c46fd3330de5863236",
|
| 742 |
+
"ab_mae": 0.2920343577861786,
|
| 743 |
+
"ab_rmse": 0.37993666529655457,
|
| 744 |
+
"rgb_mae_255": 0.34981879591941833,
|
| 745 |
+
"rgb_psnr_db": 51.98822061326059,
|
| 746 |
+
"rgb_max_difference": 9.0
|
| 747 |
+
},
|
| 748 |
+
{
|
| 749 |
+
"name": "coco_1075.jpg",
|
| 750 |
+
"subset": "COCO_holdout",
|
| 751 |
+
"size": 256,
|
| 752 |
+
"source_sha256": "0d3dd7d85cfcc4cf0ea1d814197ca3c4e419a1ce968b269f5d06fabe0b367f58",
|
| 753 |
+
"ab_mae": 0.8748445510864258,
|
| 754 |
+
"ab_rmse": 0.9437631368637085,
|
| 755 |
+
"rgb_mae_255": 1.1631814241409302,
|
| 756 |
+
"rgb_psnr_db": 45.176254120891016,
|
| 757 |
+
"rgb_max_difference": 5.0
|
| 758 |
+
},
|
| 759 |
+
{
|
| 760 |
+
"name": "coco_1076.jpg",
|
| 761 |
+
"subset": "COCO_holdout",
|
| 762 |
+
"size": 256,
|
| 763 |
+
"source_sha256": "9160e969a838a9f2005aac2db2c3e0677879daea9dcacecc96aad010b0d6a42c",
|
| 764 |
+
"ab_mae": 0.49375951290130615,
|
| 765 |
+
"ab_rmse": 0.73063725233078,
|
| 766 |
+
"rgb_mae_255": 0.7047297954559326,
|
| 767 |
+
"rgb_psnr_db": 47.20944685554747,
|
| 768 |
+
"rgb_max_difference": 6.0
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"name": "coco_1077.jpg",
|
| 772 |
+
"subset": "COCO_holdout",
|
| 773 |
+
"size": 256,
|
| 774 |
+
"source_sha256": "f3dc76875460b05e6d348a4867e3e44bad554f819f2e4cf25b9b66615d72302c",
|
| 775 |
+
"ab_mae": 1.1439827680587769,
|
| 776 |
+
"ab_rmse": 1.5291945934295654,
|
| 777 |
+
"rgb_mae_255": 1.6052864789962769,
|
| 778 |
+
"rgb_psnr_db": 40.935771729125044,
|
| 779 |
+
"rgb_max_difference": 7.0
|
| 780 |
+
},
|
| 781 |
+
{
|
| 782 |
+
"name": "coco_1078.jpg",
|
| 783 |
+
"subset": "COCO_holdout",
|
| 784 |
+
"size": 256,
|
| 785 |
+
"source_sha256": "6774fb650081bd03fedb03b1c26b85de477afa0086cbbf157b2fde2dc03d6628",
|
| 786 |
+
"ab_mae": 0.25251901149749756,
|
| 787 |
+
"ab_rmse": 0.3399495482444763,
|
| 788 |
+
"rgb_mae_255": 0.3604215681552887,
|
| 789 |
+
"rgb_psnr_db": 52.183212399780075,
|
| 790 |
+
"rgb_max_difference": 4.0
|
| 791 |
+
},
|
| 792 |
+
{
|
| 793 |
+
"name": "coco_1079.jpg",
|
| 794 |
+
"subset": "COCO_holdout",
|
| 795 |
+
"size": 256,
|
| 796 |
+
"source_sha256": "7d0e069b095e8611362263baac6905e447882dd04e128fd83e85307b733fb753",
|
| 797 |
+
"ab_mae": 0.8126828670501709,
|
| 798 |
+
"ab_rmse": 1.1655176877975464,
|
| 799 |
+
"rgb_mae_255": 1.1020296812057495,
|
| 800 |
+
"rgb_psnr_db": 43.153547009938094,
|
| 801 |
+
"rgb_max_difference": 7.0
|
| 802 |
+
},
|
| 803 |
+
{
|
| 804 |
+
"name": "nara_42.jpg",
|
| 805 |
+
"subset": "historical",
|
| 806 |
+
"size": 256,
|
| 807 |
+
"source_sha256": "a73186b25853d95a8e1785d1497923c1052747e8b045c5eac4c05dade60b2e87",
|
| 808 |
+
"ab_mae": 0.460681289434433,
|
| 809 |
+
"ab_rmse": 0.6142368316650391,
|
| 810 |
+
"rgb_mae_255": 0.6225173473358154,
|
| 811 |
+
"rgb_psnr_db": 48.45927421455151,
|
| 812 |
+
"rgb_max_difference": 4.0
|
| 813 |
+
},
|
| 814 |
+
{
|
| 815 |
+
"name": "nara_43.jpg",
|
| 816 |
+
"subset": "historical",
|
| 817 |
+
"size": 256,
|
| 818 |
+
"source_sha256": "f22dc07c4bdd0f3dac4b65ff0548395dc9aa88d8169a714fc40524249233b977",
|
| 819 |
+
"ab_mae": 0.991566002368927,
|
| 820 |
+
"ab_rmse": 1.2025388479232788,
|
| 821 |
+
"rgb_mae_255": 1.261067509651184,
|
| 822 |
+
"rgb_psnr_db": 43.85090309746551,
|
| 823 |
+
"rgb_max_difference": 9.0
|
| 824 |
+
},
|
| 825 |
+
{
|
| 826 |
+
"name": "nara_44.jpg",
|
| 827 |
+
"subset": "historical",
|
| 828 |
+
"size": 256,
|
| 829 |
+
"source_sha256": "c5e9a3fa57a6a0789e4b1529910e0294d98f245b24d205a1caccd08a5a3069b2",
|
| 830 |
+
"ab_mae": 0.30323904752731323,
|
| 831 |
+
"ab_rmse": 0.4101198613643646,
|
| 832 |
+
"rgb_mae_255": 0.34567946195602417,
|
| 833 |
+
"rgb_psnr_db": 52.027383772273545,
|
| 834 |
+
"rgb_max_difference": 3.0
|
| 835 |
+
},
|
| 836 |
+
{
|
| 837 |
+
"name": "nara_45.jpg",
|
| 838 |
+
"subset": "historical",
|
| 839 |
+
"size": 256,
|
| 840 |
+
"source_sha256": "3a3e3900cdb1384ca028a0a8843dcbcf499ffdd34832bc6b2e3f477d520403ae",
|
| 841 |
+
"ab_mae": 0.9602954983711243,
|
| 842 |
+
"ab_rmse": 1.226324200630188,
|
| 843 |
+
"rgb_mae_255": 1.480059266090393,
|
| 844 |
+
"rgb_psnr_db": 42.0335371241524,
|
| 845 |
+
"rgb_max_difference": 7.0
|
| 846 |
+
},
|
| 847 |
+
{
|
| 848 |
+
"name": "nara_46.jpg",
|
| 849 |
+
"subset": "historical",
|
| 850 |
+
"size": 256,
|
| 851 |
+
"source_sha256": "e7f2881c420c51c1855eb64219dc8c31e9a112976a3c81bfe0bcacb690d6b6e8",
|
| 852 |
+
"ab_mae": 0.8899980783462524,
|
| 853 |
+
"ab_rmse": 1.3845140933990479,
|
| 854 |
+
"rgb_mae_255": 1.4832963943481445,
|
| 855 |
+
"rgb_psnr_db": 41.02733433669738,
|
| 856 |
+
"rgb_max_difference": 10.0
|
| 857 |
+
},
|
| 858 |
+
{
|
| 859 |
+
"name": "nara_49.jpg",
|
| 860 |
+
"subset": "historical",
|
| 861 |
+
"size": 256,
|
| 862 |
+
"source_sha256": "6d46bcc386aabf2dc090b2a05baf2e3ead04bc1274c38d87a60e1806ecfb4bab",
|
| 863 |
+
"ab_mae": 0.4953787922859192,
|
| 864 |
+
"ab_rmse": 0.6417282223701477,
|
| 865 |
+
"rgb_mae_255": 0.7454184889793396,
|
| 866 |
+
"rgb_psnr_db": 47.50687721211074,
|
| 867 |
+
"rgb_max_difference": 4.0
|
| 868 |
+
}
|
| 869 |
+
],
|
| 870 |
+
"size512_rows": [
|
| 871 |
+
{
|
| 872 |
+
"name": "coco_1016.jpg",
|
| 873 |
+
"subset": "COCO_holdout",
|
| 874 |
+
"size": 512,
|
| 875 |
+
"source_sha256": "e041ce705b88df703e66213dfed5ee67894a1849c2c1bafcf49ba586d93aad19",
|
| 876 |
+
"ab_mae": 0.21910063922405243,
|
| 877 |
+
"ab_rmse": 0.30491358041763306,
|
| 878 |
+
"rgb_mae_255": 0.3387152850627899,
|
| 879 |
+
"rgb_psnr_db": 52.250933058951674,
|
| 880 |
+
"rgb_max_difference": 3.0
|
| 881 |
+
},
|
| 882 |
+
{
|
| 883 |
+
"name": "coco_1017.jpg",
|
| 884 |
+
"subset": "COCO_holdout",
|
| 885 |
+
"size": 512,
|
| 886 |
+
"source_sha256": "62514a521cb0e8893f31ac15ceae6cf8c7e0014becc56297f816a4a92534ef10",
|
| 887 |
+
"ab_mae": 0.3096548020839691,
|
| 888 |
+
"ab_rmse": 0.45300573110580444,
|
| 889 |
+
"rgb_mae_255": 0.38620829582214355,
|
| 890 |
+
"rgb_psnr_db": 51.290298501126614,
|
| 891 |
+
"rgb_max_difference": 12.0
|
| 892 |
+
},
|
| 893 |
+
{
|
| 894 |
+
"name": "coco_1018.jpg",
|
| 895 |
+
"subset": "COCO_holdout",
|
| 896 |
+
"size": 512,
|
| 897 |
+
"source_sha256": "b73523841e0dd790e28cfb7b74fa2081ac156e012f56aa6a63ddcb3a9545a8a1",
|
| 898 |
+
"ab_mae": 0.46841248869895935,
|
| 899 |
+
"ab_rmse": 0.6620053648948669,
|
| 900 |
+
"rgb_mae_255": 0.6129611730575562,
|
| 901 |
+
"rgb_psnr_db": 48.27307144486052,
|
| 902 |
+
"rgb_max_difference": 6.0
|
| 903 |
+
},
|
| 904 |
+
{
|
| 905 |
+
"name": "coco_1019.jpg",
|
| 906 |
+
"subset": "COCO_holdout",
|
| 907 |
+
"size": 512,
|
| 908 |
+
"source_sha256": "70d31beda1c0e3ac96190f69cdae7d39f630a29f4ec337a953ddb4964906ff26",
|
| 909 |
+
"ab_mae": 1.1465343236923218,
|
| 910 |
+
"ab_rmse": 1.8872750997543335,
|
| 911 |
+
"rgb_mae_255": 1.644206166267395,
|
| 912 |
+
"rgb_psnr_db": 39.03467060849164,
|
| 913 |
+
"rgb_max_difference": 18.0
|
| 914 |
+
}
|
| 915 |
+
]
|
| 916 |
+
}
|
quantized/base93-v3/evaluation/comparison_01.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_02.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_03.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_04.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_05.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_06.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_07.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_08.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/evaluation/comparison_09.jpg
ADDED
|
Git LFS Details
|
quantized/base93-v3/export_base93.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Reproduce the released Base93 file from its immutable FP32 source and plan."""
|
| 2 |
+
import argparse,hashlib,json
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from semantic_model import load_semantic
|
| 5 |
+
from base93_codec import encode_state
|
| 6 |
+
ROOT=Path(__file__).resolve().parent
|
| 7 |
+
p=argparse.ArgumentParser();p.add_argument('--source',required=True,help='Directory containing production v3 model.safetensors and config.json');p.add_argument('--output',default=str(ROOT));args=p.parse_args()
|
| 8 |
+
source=Path(args.source);out=Path(args.output);out.mkdir(parents=True,exist_ok=True)
|
| 9 |
+
provenance={'repo':'User-2468/mini-unet-colorizer','revision':'1a9eb8af2754ad2329a24cfe50d388cb559441d0','sha256':hashlib.sha256((source/'model.safetensors').read_bytes()).hexdigest()}
|
| 10 |
+
if provenance['sha256']!='ec1f27d74533adc83f7ab3639a091fc4d8738a434dafc7d172c7873c28a9e715':raise ValueError('Source is not the selected production v3 checkpoint')
|
| 11 |
+
model=load_semantic(source)
|
| 12 |
+
plan=json.loads((ROOT/'precision_plan.json').read_text())
|
| 13 |
+
text,manifest=encode_state(model.state_dict(),set(dict(model.named_parameters())),model.config,provenance,plan)
|
| 14 |
+
assert manifest['json_string_bytes']<5_000_000
|
| 15 |
+
(out/'weights_base93.txt').write_bytes(text.encode('ascii'))
|
| 16 |
+
(out/'manifest.json').write_text(json.dumps(manifest,indent=2))
|
| 17 |
+
print(json.dumps({'text_bytes':manifest['text_bytes'],'json_string_bytes':manifest['json_string_bytes'],'sha256':hashlib.sha256(text.encode('ascii')).hexdigest()}))
|
quantized/base93-v3/image_manifest.json
ADDED
|
@@ -0,0 +1,489 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"dataset": "detection-datasets/coco",
|
| 3 |
+
"revision": "26ddc382fe75dfc2a0655b5977e296ea10efebce",
|
| 4 |
+
"file": "default/val/0001.parquet",
|
| 5 |
+
"config": "default",
|
| 6 |
+
"source_split": "val",
|
| 7 |
+
"rows": [
|
| 8 |
+
{
|
| 9 |
+
"name": "coco_1000.jpg",
|
| 10 |
+
"row": 1000,
|
| 11 |
+
"sha256": "733a103198563276d4f70b5517fd5aba3ce53f4d9dc6d3684d5f8b3413619520",
|
| 12 |
+
"split": "calibration"
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"name": "coco_1001.jpg",
|
| 16 |
+
"row": 1001,
|
| 17 |
+
"sha256": "73d1d5fff4154d5d221f8a7826d64a93c13556068d5826047749e7b1179d6678",
|
| 18 |
+
"split": "calibration"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"name": "coco_1002.jpg",
|
| 22 |
+
"row": 1002,
|
| 23 |
+
"sha256": "bb7a986f21b54cb4d9f35cdb753e29eb5a029f60ce21260b6103a5a2e3d63a3f",
|
| 24 |
+
"split": "calibration"
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"name": "coco_1003.jpg",
|
| 28 |
+
"row": 1003,
|
| 29 |
+
"sha256": "04a0a063f7f2348a1d18b705903d22f12ef242b5076f6a2580a3242bbb3a8d2a",
|
| 30 |
+
"split": "calibration"
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"name": "coco_1004.jpg",
|
| 34 |
+
"row": 1004,
|
| 35 |
+
"sha256": "4b09a3f5a827a10c3217929a528cc6eef65e9b6db0881da21dbad0dea2eef1cc",
|
| 36 |
+
"split": "calibration"
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"name": "coco_1005.jpg",
|
| 40 |
+
"row": 1005,
|
| 41 |
+
"sha256": "7a22cbb635f1a89081df046549ad066422ca9cee3270b57f66627cd7a0d096c6",
|
| 42 |
+
"split": "calibration"
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"name": "coco_1006.jpg",
|
| 46 |
+
"row": 1006,
|
| 47 |
+
"sha256": "e040b3d434af83c78dab765ebcca1719430fd1194f8d938b2f0294393a5d9f59",
|
| 48 |
+
"split": "calibration"
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"name": "coco_1007.jpg",
|
| 52 |
+
"row": 1007,
|
| 53 |
+
"sha256": "9224c110ba73a25ff895f7e67347be76abd7df7acc588c91539c4a452d6f1788",
|
| 54 |
+
"split": "calibration"
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"name": "coco_1008.jpg",
|
| 58 |
+
"row": 1008,
|
| 59 |
+
"sha256": "0518c35b7359ef5fb2d882dd2c61d95898f413a93307dcd240fe010b3ed771b4",
|
| 60 |
+
"split": "calibration"
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"name": "coco_1009.jpg",
|
| 64 |
+
"row": 1009,
|
| 65 |
+
"sha256": "dd3bddaa96d4d0beb4d8770a77dd76cbd9507f771e9d3c301ef84199ab8c083c",
|
| 66 |
+
"split": "calibration"
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"name": "coco_1010.jpg",
|
| 70 |
+
"row": 1010,
|
| 71 |
+
"sha256": "ab26f465308cd7c891d1f5693ebf60e7b1eabd16fb60d9757ca0a9d0a3cba71d",
|
| 72 |
+
"split": "calibration"
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"name": "coco_1011.jpg",
|
| 76 |
+
"row": 1011,
|
| 77 |
+
"sha256": "2213aaaaa54c5432da09fe3851cb0b5f4783f9c9754d9d6df2ab28d3d7c69271",
|
| 78 |
+
"split": "calibration"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"name": "coco_1012.jpg",
|
| 82 |
+
"row": 1012,
|
| 83 |
+
"sha256": "0871a7c6e308afd0675688a556254bec9652d9ffe5be9f991b4030817e714f50",
|
| 84 |
+
"split": "calibration"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"name": "coco_1013.jpg",
|
| 88 |
+
"row": 1013,
|
| 89 |
+
"sha256": "1b7d41877801c39d6ef22eda051c9f39f85636c391ef406c42d8736e96d95134",
|
| 90 |
+
"split": "calibration"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"name": "coco_1014.jpg",
|
| 94 |
+
"row": 1014,
|
| 95 |
+
"sha256": "fd81b7cb10762771dd4e45ce75fa8fba56835ac9aa681930f5b4e23df8024696",
|
| 96 |
+
"split": "calibration"
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"name": "coco_1015.jpg",
|
| 100 |
+
"row": 1015,
|
| 101 |
+
"sha256": "51f7127dae6728b6f2ea96b02c8cdefc21fb03cff7a4f459af32debf6215790c",
|
| 102 |
+
"split": "calibration"
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"name": "coco_1016.jpg",
|
| 106 |
+
"row": 1016,
|
| 107 |
+
"sha256": "e041ce705b88df703e66213dfed5ee67894a1849c2c1bafcf49ba586d93aad19",
|
| 108 |
+
"split": "validation"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"name": "coco_1017.jpg",
|
| 112 |
+
"row": 1017,
|
| 113 |
+
"sha256": "62514a521cb0e8893f31ac15ceae6cf8c7e0014becc56297f816a4a92534ef10",
|
| 114 |
+
"split": "validation"
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"name": "coco_1018.jpg",
|
| 118 |
+
"row": 1018,
|
| 119 |
+
"sha256": "b73523841e0dd790e28cfb7b74fa2081ac156e012f56aa6a63ddcb3a9545a8a1",
|
| 120 |
+
"split": "validation"
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"name": "coco_1019.jpg",
|
| 124 |
+
"row": 1019,
|
| 125 |
+
"sha256": "70d31beda1c0e3ac96190f69cdae7d39f630a29f4ec337a953ddb4964906ff26",
|
| 126 |
+
"split": "validation"
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"name": "coco_1020.jpg",
|
| 130 |
+
"row": 1020,
|
| 131 |
+
"sha256": "a74acfa520a4671317fab07f68c63abf714dce2e438788c20119689f31714276",
|
| 132 |
+
"split": "validation"
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"name": "coco_1021.jpg",
|
| 136 |
+
"row": 1021,
|
| 137 |
+
"sha256": "8da481be6fa26b297404f910c24038491e468411a54ac61e8de8c6b81124c3b5",
|
| 138 |
+
"split": "validation"
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"name": "coco_1022.jpg",
|
| 142 |
+
"row": 1022,
|
| 143 |
+
"sha256": "90e67a670819e51c44a785a3ed26547200cab180dcd2098c486c8020cb3c312f",
|
| 144 |
+
"split": "validation"
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"name": "coco_1023.jpg",
|
| 148 |
+
"row": 1023,
|
| 149 |
+
"sha256": "0c2172fdc1e19e2b2c7f9ab8126f0e850f354ce50b02c58292891b2619bf5528",
|
| 150 |
+
"split": "validation"
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"name": "coco_1024.jpg",
|
| 154 |
+
"row": 1024,
|
| 155 |
+
"sha256": "e20ee8a186a94b03a7ea3f55d4b097ec2fe7a21db29df61073c31f0e38fbb958",
|
| 156 |
+
"split": "validation"
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"name": "coco_1025.jpg",
|
| 160 |
+
"row": 1025,
|
| 161 |
+
"sha256": "7c6831c461d6873281520ae1870bb780e113bee5d87e6a8f4423576eeab43ed5",
|
| 162 |
+
"split": "validation"
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"name": "coco_1026.jpg",
|
| 166 |
+
"row": 1026,
|
| 167 |
+
"sha256": "25f106ec83ccc0525071ab67706096e8e692dd651830982ffb297ebffa0be400",
|
| 168 |
+
"split": "validation"
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"name": "coco_1027.jpg",
|
| 172 |
+
"row": 1027,
|
| 173 |
+
"sha256": "0d047d971e6e3988a1b85b3b0b46fdf9c9d12d71c6ac3e8f1ef0165a90d54044",
|
| 174 |
+
"split": "validation"
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"name": "coco_1028.jpg",
|
| 178 |
+
"row": 1028,
|
| 179 |
+
"sha256": "520fc714c72300233fbeef5ef510d533db8fcdcb4c092c51e4464a399c168520",
|
| 180 |
+
"split": "validation"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"name": "coco_1029.jpg",
|
| 184 |
+
"row": 1029,
|
| 185 |
+
"sha256": "1ab2da55c02fdcadfdf354add82500fcd5edb1e7a122bed15b89db29438680f3",
|
| 186 |
+
"split": "validation"
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"name": "coco_1030.jpg",
|
| 190 |
+
"row": 1030,
|
| 191 |
+
"sha256": "46461c0fa808ae9c733bb4a4940d3cac1abcef1949cb5e2dc83dc9dc9fcd0b01",
|
| 192 |
+
"split": "validation"
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"name": "coco_1031.jpg",
|
| 196 |
+
"row": 1031,
|
| 197 |
+
"sha256": "af15371bf710dd3b772f372b33fd231851c92490c639e30c53d2d783e53baa83",
|
| 198 |
+
"split": "validation"
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"name": "coco_1032.jpg",
|
| 202 |
+
"row": 1032,
|
| 203 |
+
"sha256": "d2dd4d77bad4f711f6d2f1ec9359c2d35cb406030f6a42ab40f8a2d4ec5d4aa2",
|
| 204 |
+
"split": "validation"
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"name": "coco_1033.jpg",
|
| 208 |
+
"row": 1033,
|
| 209 |
+
"sha256": "04552f99af3ea5df5df0c22c1d8ae6f5a8b02a743c96d92f7bc658c7eebcfd03",
|
| 210 |
+
"split": "validation"
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"name": "coco_1034.jpg",
|
| 214 |
+
"row": 1034,
|
| 215 |
+
"sha256": "e5a21669fcd6bb3dc5e43b8f69e38a55c6d3dc19e3c0f4de596b47ffd2fc18b4",
|
| 216 |
+
"split": "validation"
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"name": "coco_1035.jpg",
|
| 220 |
+
"row": 1035,
|
| 221 |
+
"sha256": "de20da780296358ea7c8483a9ad12af1420015e8e586ba54aff79873168abed2",
|
| 222 |
+
"split": "validation"
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"name": "coco_1036.jpg",
|
| 226 |
+
"row": 1036,
|
| 227 |
+
"sha256": "02c8a1148f95011bb0baea846669dbfc0cfa3eb12fa22d4436c235a331fb1cc2",
|
| 228 |
+
"split": "validation"
|
| 229 |
+
},
|
| 230 |
+
{
|
| 231 |
+
"name": "coco_1037.jpg",
|
| 232 |
+
"row": 1037,
|
| 233 |
+
"sha256": "91e1b67b63c6fa562a10b38d1336480695dc8d577f6dfd3b54c7d532a3c35df2",
|
| 234 |
+
"split": "validation"
|
| 235 |
+
},
|
| 236 |
+
{
|
| 237 |
+
"name": "coco_1038.jpg",
|
| 238 |
+
"row": 1038,
|
| 239 |
+
"sha256": "4fa3aab23ce3814a1da7f65ce615000413900e0f915daaf420c3af64a6bf6e93",
|
| 240 |
+
"split": "validation"
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"name": "coco_1039.jpg",
|
| 244 |
+
"row": 1039,
|
| 245 |
+
"sha256": "100e3482a768dddcdccb9603682ae0b00921a31854d86b8924e7fc723bcbacac",
|
| 246 |
+
"split": "validation"
|
| 247 |
+
},
|
| 248 |
+
{
|
| 249 |
+
"name": "coco_1040.jpg",
|
| 250 |
+
"row": 1040,
|
| 251 |
+
"sha256": "719de8aa010bb47e2e7de74ffefbdbf60b8414c5e23c81dec8d95e3f2c75d21f",
|
| 252 |
+
"split": "validation"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"name": "coco_1041.jpg",
|
| 256 |
+
"row": 1041,
|
| 257 |
+
"sha256": "c3f1e039b14bec40394cec0cdcaf31f06c71cbe2723276731b209a16d0d39f11",
|
| 258 |
+
"split": "validation"
|
| 259 |
+
},
|
| 260 |
+
{
|
| 261 |
+
"name": "coco_1042.jpg",
|
| 262 |
+
"row": 1042,
|
| 263 |
+
"sha256": "00216d5dab636b6ca7603009a7efa54784d43670a6606d478abd8a88627b78a6",
|
| 264 |
+
"split": "validation"
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"name": "coco_1043.jpg",
|
| 268 |
+
"row": 1043,
|
| 269 |
+
"sha256": "7cc3c7f7b8412661bb9010a294331533391d99cc637ae25802167600140150a1",
|
| 270 |
+
"split": "validation"
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"name": "coco_1044.jpg",
|
| 274 |
+
"row": 1044,
|
| 275 |
+
"sha256": "062326d314aaea6fc36f5d3c2472bfb4359a8acbff9ce72c866e94687d78f072",
|
| 276 |
+
"split": "validation"
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"name": "coco_1045.jpg",
|
| 280 |
+
"row": 1045,
|
| 281 |
+
"sha256": "1f82b10e98e4c851d635f1c417adeff94310bfe3d51fd52a3195a8b132df7da8",
|
| 282 |
+
"split": "validation"
|
| 283 |
+
},
|
| 284 |
+
{
|
| 285 |
+
"name": "coco_1046.jpg",
|
| 286 |
+
"row": 1046,
|
| 287 |
+
"sha256": "e83dde80a931fea2a83dc34b77e40b492e7681957f4d72491f7f7fdd5cc215b6",
|
| 288 |
+
"split": "validation"
|
| 289 |
+
},
|
| 290 |
+
{
|
| 291 |
+
"name": "coco_1047.jpg",
|
| 292 |
+
"row": 1047,
|
| 293 |
+
"sha256": "586beec9cea94bff35cc953ae63f759cfe3a354073565ab8cb6e7467cc93584e",
|
| 294 |
+
"split": "validation"
|
| 295 |
+
},
|
| 296 |
+
{
|
| 297 |
+
"name": "coco_1048.jpg",
|
| 298 |
+
"row": 1048,
|
| 299 |
+
"sha256": "8d5a4b2e84e045a974113175429619a0a0118f6f0b95124d53057c733f4ff8d1",
|
| 300 |
+
"split": "validation"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"name": "coco_1049.jpg",
|
| 304 |
+
"row": 1049,
|
| 305 |
+
"sha256": "8b2a835c070f5f495c040a9a3a885b04f749fa127bd46f187a0c51c614607119",
|
| 306 |
+
"split": "validation"
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"name": "coco_1050.jpg",
|
| 310 |
+
"row": 1050,
|
| 311 |
+
"sha256": "03c01abd085af9560028d708866dd25d95b4f9fbdc0294140b703d50a494d5d5",
|
| 312 |
+
"split": "validation"
|
| 313 |
+
},
|
| 314 |
+
{
|
| 315 |
+
"name": "coco_1051.jpg",
|
| 316 |
+
"row": 1051,
|
| 317 |
+
"sha256": "2c482d365623b18f877b90eea879331d4d11f8c9f8b13f058aa8cb1ef31cb58d",
|
| 318 |
+
"split": "validation"
|
| 319 |
+
},
|
| 320 |
+
{
|
| 321 |
+
"name": "coco_1052.jpg",
|
| 322 |
+
"row": 1052,
|
| 323 |
+
"sha256": "f128deccbf3e1043c473351db3d0510e6ecc82329600e41938b31615f30bb4a1",
|
| 324 |
+
"split": "validation"
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"name": "coco_1053.jpg",
|
| 328 |
+
"row": 1053,
|
| 329 |
+
"sha256": "84a82f3d3f5ae226acf812bf26bca99e4a7e845e608c4caba85d5f3ffdc339df",
|
| 330 |
+
"split": "validation"
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"name": "coco_1054.jpg",
|
| 334 |
+
"row": 1054,
|
| 335 |
+
"sha256": "932fcc2cd5cfba5a45af33e3530590accfff799088d6555642efc2404a98baaa",
|
| 336 |
+
"split": "validation"
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"name": "coco_1055.jpg",
|
| 340 |
+
"row": 1055,
|
| 341 |
+
"sha256": "8e1b28f0733588b23def605e03860e6b34328f2b231970e7fd59912f4b3e7005",
|
| 342 |
+
"split": "validation"
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"name": "coco_1056.jpg",
|
| 346 |
+
"row": 1056,
|
| 347 |
+
"sha256": "72e91c9eea461ca5656b3f8df0ffb7d03c6d151d1778295f0534e501853a0f0c",
|
| 348 |
+
"split": "validation"
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"name": "coco_1057.jpg",
|
| 352 |
+
"row": 1057,
|
| 353 |
+
"sha256": "e101bdf508bf0a74adb38301dc97cb0612fa95a84e2a660eb97749b31edec18a",
|
| 354 |
+
"split": "validation"
|
| 355 |
+
},
|
| 356 |
+
{
|
| 357 |
+
"name": "coco_1058.jpg",
|
| 358 |
+
"row": 1058,
|
| 359 |
+
"sha256": "2818f1c1caaf4583919d4a6723350b588f272e06295eb3bedd83623ccad833e5",
|
| 360 |
+
"split": "validation"
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"name": "coco_1059.jpg",
|
| 364 |
+
"row": 1059,
|
| 365 |
+
"sha256": "9551e30c4b72c2c8034424d1da07d5ca23a6f8f27462c2402561e2d83a039069",
|
| 366 |
+
"split": "validation"
|
| 367 |
+
},
|
| 368 |
+
{
|
| 369 |
+
"name": "coco_1060.jpg",
|
| 370 |
+
"row": 1060,
|
| 371 |
+
"sha256": "c7953700dc8004aacbff68cb8b2c33e88a29b0ee21110bc66b06bcefae8ca636",
|
| 372 |
+
"split": "validation"
|
| 373 |
+
},
|
| 374 |
+
{
|
| 375 |
+
"name": "coco_1061.jpg",
|
| 376 |
+
"row": 1061,
|
| 377 |
+
"sha256": "05435cdebe50a959e357ddd3eb9621559934b8761d3526e57fd9170658ce3d93",
|
| 378 |
+
"split": "validation"
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"name": "coco_1062.jpg",
|
| 382 |
+
"row": 1062,
|
| 383 |
+
"sha256": "e0f6ceccdafeb5578deb7876cbfaa0a19f44a19f580b7123c865a941b6e9dcee",
|
| 384 |
+
"split": "validation"
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"name": "coco_1063.jpg",
|
| 388 |
+
"row": 1063,
|
| 389 |
+
"sha256": "63f866d3b8b97d1087131c18b9f80662ccf10bf864e1a20d64ff733ac731e2e1",
|
| 390 |
+
"split": "validation"
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
"name": "coco_1064.jpg",
|
| 394 |
+
"row": 1064,
|
| 395 |
+
"sha256": "bbd1f8687deeaa813f2b57509dabb1e87f7ba532f06c8e79868cc7f1453d0bc1",
|
| 396 |
+
"split": "validation"
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"name": "coco_1065.jpg",
|
| 400 |
+
"row": 1065,
|
| 401 |
+
"sha256": "4434c715aa868745ed8d4506dfd812da5e0e6fdf0fba8250c7bded4cd15337b8",
|
| 402 |
+
"split": "validation"
|
| 403 |
+
},
|
| 404 |
+
{
|
| 405 |
+
"name": "coco_1066.jpg",
|
| 406 |
+
"row": 1066,
|
| 407 |
+
"sha256": "14794d8f9a4d7241f55e3dc15794a8063b83bbc0ae95f4b787aca5891a48bc3b",
|
| 408 |
+
"split": "validation"
|
| 409 |
+
},
|
| 410 |
+
{
|
| 411 |
+
"name": "coco_1067.jpg",
|
| 412 |
+
"row": 1067,
|
| 413 |
+
"sha256": "f6f2620707df79c606e0c1cfab462860ece49bee7768f0fb2dbdfac7bdf8346e",
|
| 414 |
+
"split": "validation"
|
| 415 |
+
},
|
| 416 |
+
{
|
| 417 |
+
"name": "coco_1068.jpg",
|
| 418 |
+
"row": 1068,
|
| 419 |
+
"sha256": "fa32398a8441c2a27f5047bc2ad2f9144127f10f2c6663b22f0701679e8e97c3",
|
| 420 |
+
"split": "validation"
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"name": "coco_1069.jpg",
|
| 424 |
+
"row": 1069,
|
| 425 |
+
"sha256": "6eda0abfc23d8612800893b44c5a1fe8a4ceb0c43cfc86a3c0deac9a0681c53e",
|
| 426 |
+
"split": "validation"
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"name": "coco_1070.jpg",
|
| 430 |
+
"row": 1070,
|
| 431 |
+
"sha256": "9e5b2e1a12413fa4365e34a459369de6b05b3fe03dea5fe094bd579692413104",
|
| 432 |
+
"split": "validation"
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"name": "coco_1071.jpg",
|
| 436 |
+
"row": 1071,
|
| 437 |
+
"sha256": "8d3945f3c30be9a21aed6e9808f39e74a46bb20198f7bd29e24f4279e716af1e",
|
| 438 |
+
"split": "validation"
|
| 439 |
+
},
|
| 440 |
+
{
|
| 441 |
+
"name": "coco_1072.jpg",
|
| 442 |
+
"row": 1072,
|
| 443 |
+
"sha256": "4f3aa179879b53163772b1866e1790e98f36ddc384ee8dace37ec468b604dcba",
|
| 444 |
+
"split": "validation"
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
"name": "coco_1073.jpg",
|
| 448 |
+
"row": 1073,
|
| 449 |
+
"sha256": "d35dac662f828ab1b671f9acafaea3f1cc1992e231811806119fe3a063896471",
|
| 450 |
+
"split": "validation"
|
| 451 |
+
},
|
| 452 |
+
{
|
| 453 |
+
"name": "coco_1074.jpg",
|
| 454 |
+
"row": 1074,
|
| 455 |
+
"sha256": "a02be69d9dbaf2ebb1e21950d1a0c54238ea6b479b8200c46fd3330de5863236",
|
| 456 |
+
"split": "validation"
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"name": "coco_1075.jpg",
|
| 460 |
+
"row": 1075,
|
| 461 |
+
"sha256": "0d3dd7d85cfcc4cf0ea1d814197ca3c4e419a1ce968b269f5d06fabe0b367f58",
|
| 462 |
+
"split": "validation"
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
"name": "coco_1076.jpg",
|
| 466 |
+
"row": 1076,
|
| 467 |
+
"sha256": "9160e969a838a9f2005aac2db2c3e0677879daea9dcacecc96aad010b0d6a42c",
|
| 468 |
+
"split": "validation"
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"name": "coco_1077.jpg",
|
| 472 |
+
"row": 1077,
|
| 473 |
+
"sha256": "f3dc76875460b05e6d348a4867e3e44bad554f819f2e4cf25b9b66615d72302c",
|
| 474 |
+
"split": "validation"
|
| 475 |
+
},
|
| 476 |
+
{
|
| 477 |
+
"name": "coco_1078.jpg",
|
| 478 |
+
"row": 1078,
|
| 479 |
+
"sha256": "6774fb650081bd03fedb03b1c26b85de477afa0086cbbf157b2fde2dc03d6628",
|
| 480 |
+
"split": "validation"
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"name": "coco_1079.jpg",
|
| 484 |
+
"row": 1079,
|
| 485 |
+
"sha256": "7d0e069b095e8611362263baac6905e447882dd04e128fd83e85307b733fb753",
|
| 486 |
+
"split": "validation"
|
| 487 |
+
}
|
| 488 |
+
]
|
| 489 |
+
}
|
quantized/base93-v3/inference.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Aspect-preserving colourisation with a compact semantic model.
|
| 2 |
+
|
| 3 |
+
Input and output are PIL images. No teacher, critic or second learned model is
|
| 4 |
+
loaded. Original lightness and alpha are retained; out-of-gamut chroma is reduced.
|
| 5 |
+
"""
|
| 6 |
+
import json
|
| 7 |
+
import math
|
| 8 |
+
from pathlib import Path
|
| 9 |
+
import numpy as np
|
| 10 |
+
import torch
|
| 11 |
+
import torch.nn.functional as F
|
| 12 |
+
from PIL import Image, ImageOps
|
| 13 |
+
from skimage.color import rgb2lab
|
| 14 |
+
from semantic_model import load_semantic
|
| 15 |
+
|
| 16 |
+
MAX_PIXELS = 12_000_000
|
| 17 |
+
|
| 18 |
+
def load_colorizer(path, device='cpu'):
|
| 19 |
+
model = load_semantic(path, device)
|
| 20 |
+
count = sum(p.numel() for p in model.parameters())
|
| 21 |
+
if count >= 4_000_000:
|
| 22 |
+
raise ValueError('Model exceeds the four-million-parameter limit')
|
| 23 |
+
return model
|
| 24 |
+
|
| 25 |
+
def box_mean(x, r):
|
| 26 |
+
return F.avg_pool2d(x, 2*r+1, 1, r, count_include_pad=False)
|
| 27 |
+
|
| 28 |
+
def prepare(image, size=256):
|
| 29 |
+
if not isinstance(image, Image.Image):
|
| 30 |
+
raise TypeError('Expected a PIL image')
|
| 31 |
+
if not 128 <= int(size) <= 512:
|
| 32 |
+
raise ValueError('Input size must be between 128 and 512')
|
| 33 |
+
image = ImageOps.exif_transpose(image)
|
| 34 |
+
if image.width * image.height > MAX_PIXELS:
|
| 35 |
+
raise ValueError('Please resize the image to at most 12 megapixels')
|
| 36 |
+
alpha = np.asarray(image.getchannel('A')).copy() if 'A' in image.getbands() else None
|
| 37 |
+
rgb = np.asarray(image.convert('RGB'), dtype=np.float32) / 255
|
| 38 |
+
light = rgb2lab(rgb)[..., 0].astype(np.float32)
|
| 39 |
+
scale = min(int(size)/max(image.size), 1.)
|
| 40 |
+
shape = (max(8, round(image.height*scale)), max(8, round(image.width*scale)))
|
| 41 |
+
x = torch.from_numpy(light)[None,None]/50-1
|
| 42 |
+
small = F.interpolate(x, size=shape, mode='bilinear', align_corners=False, antialias=True)
|
| 43 |
+
return light, alpha, small
|
| 44 |
+
|
| 45 |
+
@torch.inference_mode()
|
| 46 |
+
def chroma_coefficients(model, small, radius=8):
|
| 47 |
+
if radius not in (0,4,8,12,16):
|
| 48 |
+
raise ValueError('Unsupported smoothing radius')
|
| 49 |
+
device = next(model.parameters()).device
|
| 50 |
+
L = small.to(device)
|
| 51 |
+
ab = model(L).float()
|
| 52 |
+
if not torch.isfinite(ab).all():
|
| 53 |
+
raise RuntimeError('Model returned non-finite colours')
|
| 54 |
+
if radius == 0:
|
| 55 |
+
return torch.zeros_like(ab).cpu(), ab.cpu()
|
| 56 |
+
guide = (L.float()+1)/2
|
| 57 |
+
mi, mp = box_mean(guide,radius), box_mean(ab,radius)
|
| 58 |
+
var = (box_mean(guide*guide,radius)-mi*mi).clamp_min(0)
|
| 59 |
+
cov = box_mean(guide*ab,radius)-mi*mp
|
| 60 |
+
a = cov/(var+.001)
|
| 61 |
+
b = mp-a*mi
|
| 62 |
+
# Coefficients are upsampled, then evaluated against original-resolution L.
|
| 63 |
+
return box_mean(a,radius).cpu(), box_mean(b,radius).cpu()
|
| 64 |
+
|
| 65 |
+
def _linear_rgb(light, ab):
|
| 66 |
+
fy = (light+16)/116
|
| 67 |
+
f = np.stack([fy+ab[...,0]/500,fy,fy-ab[...,1]/200],axis=-1)
|
| 68 |
+
xyz = np.where(f>6/29,f**3,(f-4/29)*(3*(6/29)**2))
|
| 69 |
+
xyz *= np.array([.95047,1.,1.08883],np.float32)
|
| 70 |
+
matrix = np.array([[3.24048134,-1.53715152,-.49853633],[-.96925495,1.87599,.04155593],[.05564664,-.20404134,1.05731107]],np.float32)
|
| 71 |
+
return xyz @ matrix.T
|
| 72 |
+
|
| 73 |
+
def render(light, alpha, coefficients, saturation=1.):
|
| 74 |
+
saturation = float(saturation)
|
| 75 |
+
if not math.isfinite(saturation) or not 0 <= saturation <= 1.5:
|
| 76 |
+
raise ValueError('Colour strength must be between 0 and 1.5')
|
| 77 |
+
a,b = [F.interpolate(v.float(),size=light.shape,mode='bilinear',align_corners=False)[0].permute(1,2,0).numpy() for v in coefficients]
|
| 78 |
+
ab = (a*(light[...,None]/100)+b)*saturation
|
| 79 |
+
# Binary-search chroma compression retains Lab hue and lightness.
|
| 80 |
+
linear = _linear_rgb(light,ab)
|
| 81 |
+
invalid = ((linear < -1e-5)|(linear > 1+1e-5)).any(-1)
|
| 82 |
+
if invalid.any():
|
| 83 |
+
L = light[invalid]; colors=ab[invalid];lo=np.zeros(len(L),np.float32);hi=np.ones(len(L),np.float32)
|
| 84 |
+
for _ in range(9):
|
| 85 |
+
mid=(lo+hi)/2; candidate=_linear_rgb(L,colors*mid[:,None])
|
| 86 |
+
valid=((candidate>=-1e-5)&(candidate<=1+1e-5)).all(-1)
|
| 87 |
+
lo=np.where(valid,mid,lo);hi=np.where(valid,hi,mid)
|
| 88 |
+
ab[invalid]=colors*lo[:,None]
|
| 89 |
+
linear[invalid]=_linear_rgb(L,ab[invalid])
|
| 90 |
+
linear=np.clip(linear,0,1)
|
| 91 |
+
rgb=np.where(linear<=.0031308,12.92*linear,1.055*np.power(linear,1/2.4)-.055)
|
| 92 |
+
pixels=np.uint8(np.clip(np.rint(rgb*255),0,255))
|
| 93 |
+
if alpha is not None: pixels=np.concatenate([pixels,alpha[...,None]],axis=-1)
|
| 94 |
+
return Image.fromarray(pixels)
|
| 95 |
+
|
| 96 |
+
def colorize(model, image, size=256, radius=8, saturation=1.):
|
| 97 |
+
light,alpha,small=prepare(image,size)
|
| 98 |
+
return render(light,alpha,chroma_coefficients(model,small,radius),saturation)
|
| 99 |
+
|
| 100 |
+
def main():
|
| 101 |
+
import argparse
|
| 102 |
+
parser=argparse.ArgumentParser(description='Compact photo colouriser')
|
| 103 |
+
parser.add_argument('input');parser.add_argument('output')
|
| 104 |
+
parser.add_argument('--model',default='.');parser.add_argument('--device',default='cpu')
|
| 105 |
+
parser.add_argument('--size',type=int,default=256);parser.add_argument('--saturation',type=float,default=1.)
|
| 106 |
+
args=parser.parse_args()
|
| 107 |
+
model=load_colorizer(args.model,args.device)
|
| 108 |
+
with Image.open(args.input) as image:
|
| 109 |
+
colorize(model,image,args.size,saturation=args.saturation).save(args.output)
|
| 110 |
+
|
| 111 |
+
if __name__=='__main__':main()
|
quantized/base93-v3/manifest.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
quantized/base93-v3/nara_sources.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"name": "nara_42.jpg",
|
| 4 |
+
"title": "Power station",
|
| 5 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img42.html",
|
| 6 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_042_v71.jpg",
|
| 7 |
+
"sha256": "a73186b25853d95a8e1785d1497923c1052747e8b045c5eac4c05dade60b2e87",
|
| 8 |
+
"bytes": 47847
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"name": "nara_43.jpg",
|
| 12 |
+
"title": "Boxing team",
|
| 13 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img43.html",
|
| 14 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_043_v69.jpg",
|
| 15 |
+
"sha256": "f22dc07c4bdd0f3dac4b65ff0548395dc9aa88d8169a714fc40524249233b977",
|
| 16 |
+
"bytes": 40864
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"name": "nara_44.jpg",
|
| 20 |
+
"title": "Street corner",
|
| 21 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img44.html",
|
| 22 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_044_v73.jpg",
|
| 23 |
+
"sha256": "c5e9a3fa57a6a0789e4b1529910e0294d98f245b24d205a1caccd08a5a3069b2",
|
| 24 |
+
"bytes": 68857
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"name": "nara_45.jpg",
|
| 28 |
+
"title": "Children and sugar beets",
|
| 29 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img45.html",
|
| 30 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_045_v75.jpg",
|
| 31 |
+
"sha256": "3a3e3900cdb1384ca028a0a8843dcbcf499ffdd34832bc6b2e3f477d520403ae",
|
| 32 |
+
"bytes": 66706
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"name": "nara_46.jpg",
|
| 36 |
+
"title": "Abandoned house",
|
| 37 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img46.html",
|
| 38 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_046_v76.jpg",
|
| 39 |
+
"sha256": "e7f2881c420c51c1855eb64219dc8c31e9a112976a3c81bfe0bcacb690d6b6e8",
|
| 40 |
+
"bytes": 74972
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"name": "nara_49.jpg",
|
| 44 |
+
"title": "Man in his home",
|
| 45 |
+
"source": "https://www.archives.gov/exhibits/picturing_the_century/greatdep/greatdep_img49.html",
|
| 46 |
+
"image_url": "https://www.archives.gov/exhibits/picturing_the_century/images/greatdep_049_v72.jpg",
|
| 47 |
+
"sha256": "6d46bcc386aabf2dc090b2a05baf2e3ead04bc1274c38d87a60e1806ecfb4bab",
|
| 48 |
+
"bytes": 54941
|
| 49 |
+
}
|
| 50 |
+
]
|
quantized/base93-v3/precision_plan.json
ADDED
|
@@ -0,0 +1,946 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"queries": [
|
| 3 |
+
1,
|
| 4 |
+
64
|
| 5 |
+
],
|
| 6 |
+
"encoder.0.0.weight": [
|
| 7 |
+
2,
|
| 8 |
+
256
|
| 9 |
+
],
|
| 10 |
+
"encoder.0.1.weight": [
|
| 11 |
+
2,
|
| 12 |
+
256
|
| 13 |
+
],
|
| 14 |
+
"encoder.0.1.bias": [
|
| 15 |
+
2,
|
| 16 |
+
256
|
| 17 |
+
],
|
| 18 |
+
"encoder.1.block.0.0.weight": [
|
| 19 |
+
2,
|
| 20 |
+
256
|
| 21 |
+
],
|
| 22 |
+
"encoder.1.block.0.1.weight": [
|
| 23 |
+
2,
|
| 24 |
+
256
|
| 25 |
+
],
|
| 26 |
+
"encoder.1.block.0.1.bias": [
|
| 27 |
+
2,
|
| 28 |
+
256
|
| 29 |
+
],
|
| 30 |
+
"encoder.1.block.1.0.weight": [
|
| 31 |
+
2,
|
| 32 |
+
256
|
| 33 |
+
],
|
| 34 |
+
"encoder.1.block.1.1.weight": [
|
| 35 |
+
2,
|
| 36 |
+
256
|
| 37 |
+
],
|
| 38 |
+
"encoder.1.block.1.1.bias": [
|
| 39 |
+
2,
|
| 40 |
+
256
|
| 41 |
+
],
|
| 42 |
+
"encoder.2.block.0.0.weight": [
|
| 43 |
+
2,
|
| 44 |
+
256
|
| 45 |
+
],
|
| 46 |
+
"encoder.2.block.0.1.weight": [
|
| 47 |
+
2,
|
| 48 |
+
256
|
| 49 |
+
],
|
| 50 |
+
"encoder.2.block.0.1.bias": [
|
| 51 |
+
2,
|
| 52 |
+
256
|
| 53 |
+
],
|
| 54 |
+
"encoder.2.block.1.0.weight": [
|
| 55 |
+
2,
|
| 56 |
+
256
|
| 57 |
+
],
|
| 58 |
+
"encoder.2.block.1.1.weight": [
|
| 59 |
+
2,
|
| 60 |
+
256
|
| 61 |
+
],
|
| 62 |
+
"encoder.2.block.1.1.bias": [
|
| 63 |
+
2,
|
| 64 |
+
256
|
| 65 |
+
],
|
| 66 |
+
"encoder.2.block.2.0.weight": [
|
| 67 |
+
2,
|
| 68 |
+
256
|
| 69 |
+
],
|
| 70 |
+
"encoder.2.block.2.1.weight": [
|
| 71 |
+
2,
|
| 72 |
+
256
|
| 73 |
+
],
|
| 74 |
+
"encoder.2.block.2.1.bias": [
|
| 75 |
+
2,
|
| 76 |
+
256
|
| 77 |
+
],
|
| 78 |
+
"encoder.3.block.0.0.weight": [
|
| 79 |
+
2,
|
| 80 |
+
256
|
| 81 |
+
],
|
| 82 |
+
"encoder.3.block.0.1.weight": [
|
| 83 |
+
2,
|
| 84 |
+
256
|
| 85 |
+
],
|
| 86 |
+
"encoder.3.block.0.1.bias": [
|
| 87 |
+
2,
|
| 88 |
+
256
|
| 89 |
+
],
|
| 90 |
+
"encoder.3.block.1.0.weight": [
|
| 91 |
+
2,
|
| 92 |
+
256
|
| 93 |
+
],
|
| 94 |
+
"encoder.3.block.1.1.weight": [
|
| 95 |
+
2,
|
| 96 |
+
256
|
| 97 |
+
],
|
| 98 |
+
"encoder.3.block.1.1.bias": [
|
| 99 |
+
2,
|
| 100 |
+
256
|
| 101 |
+
],
|
| 102 |
+
"encoder.3.block.2.0.weight": [
|
| 103 |
+
2,
|
| 104 |
+
256
|
| 105 |
+
],
|
| 106 |
+
"encoder.3.block.2.1.weight": [
|
| 107 |
+
2,
|
| 108 |
+
256
|
| 109 |
+
],
|
| 110 |
+
"encoder.3.block.2.1.bias": [
|
| 111 |
+
2,
|
| 112 |
+
256
|
| 113 |
+
],
|
| 114 |
+
"encoder.4.block.0.0.weight": [
|
| 115 |
+
2,
|
| 116 |
+
256
|
| 117 |
+
],
|
| 118 |
+
"encoder.4.block.0.1.weight": [
|
| 119 |
+
2,
|
| 120 |
+
256
|
| 121 |
+
],
|
| 122 |
+
"encoder.4.block.0.1.bias": [
|
| 123 |
+
2,
|
| 124 |
+
256
|
| 125 |
+
],
|
| 126 |
+
"encoder.4.block.1.0.weight": [
|
| 127 |
+
2,
|
| 128 |
+
256
|
| 129 |
+
],
|
| 130 |
+
"encoder.4.block.1.1.weight": [
|
| 131 |
+
2,
|
| 132 |
+
256
|
| 133 |
+
],
|
| 134 |
+
"encoder.4.block.1.1.bias": [
|
| 135 |
+
2,
|
| 136 |
+
256
|
| 137 |
+
],
|
| 138 |
+
"encoder.4.block.2.fc1.weight": [
|
| 139 |
+
1,
|
| 140 |
+
64
|
| 141 |
+
],
|
| 142 |
+
"encoder.4.block.2.fc1.bias": [
|
| 143 |
+
2,
|
| 144 |
+
256
|
| 145 |
+
],
|
| 146 |
+
"encoder.4.block.2.fc2.weight": [
|
| 147 |
+
1,
|
| 148 |
+
64
|
| 149 |
+
],
|
| 150 |
+
"encoder.4.block.2.fc2.bias": [
|
| 151 |
+
2,
|
| 152 |
+
256
|
| 153 |
+
],
|
| 154 |
+
"encoder.4.block.3.0.weight": [
|
| 155 |
+
1,
|
| 156 |
+
64
|
| 157 |
+
],
|
| 158 |
+
"encoder.4.block.3.1.weight": [
|
| 159 |
+
2,
|
| 160 |
+
256
|
| 161 |
+
],
|
| 162 |
+
"encoder.4.block.3.1.bias": [
|
| 163 |
+
2,
|
| 164 |
+
256
|
| 165 |
+
],
|
| 166 |
+
"encoder.5.block.0.0.weight": [
|
| 167 |
+
1,
|
| 168 |
+
64
|
| 169 |
+
],
|
| 170 |
+
"encoder.5.block.0.1.weight": [
|
| 171 |
+
2,
|
| 172 |
+
256
|
| 173 |
+
],
|
| 174 |
+
"encoder.5.block.0.1.bias": [
|
| 175 |
+
2,
|
| 176 |
+
256
|
| 177 |
+
],
|
| 178 |
+
"encoder.5.block.1.0.weight": [
|
| 179 |
+
2,
|
| 180 |
+
256
|
| 181 |
+
],
|
| 182 |
+
"encoder.5.block.1.1.weight": [
|
| 183 |
+
2,
|
| 184 |
+
256
|
| 185 |
+
],
|
| 186 |
+
"encoder.5.block.1.1.bias": [
|
| 187 |
+
2,
|
| 188 |
+
256
|
| 189 |
+
],
|
| 190 |
+
"encoder.5.block.2.fc1.weight": [
|
| 191 |
+
2,
|
| 192 |
+
256
|
| 193 |
+
],
|
| 194 |
+
"encoder.5.block.2.fc1.bias": [
|
| 195 |
+
2,
|
| 196 |
+
256
|
| 197 |
+
],
|
| 198 |
+
"encoder.5.block.2.fc2.weight": [
|
| 199 |
+
1,
|
| 200 |
+
64
|
| 201 |
+
],
|
| 202 |
+
"encoder.5.block.2.fc2.bias": [
|
| 203 |
+
2,
|
| 204 |
+
256
|
| 205 |
+
],
|
| 206 |
+
"encoder.5.block.3.0.weight": [
|
| 207 |
+
1,
|
| 208 |
+
64
|
| 209 |
+
],
|
| 210 |
+
"encoder.5.block.3.1.weight": [
|
| 211 |
+
2,
|
| 212 |
+
256
|
| 213 |
+
],
|
| 214 |
+
"encoder.5.block.3.1.bias": [
|
| 215 |
+
2,
|
| 216 |
+
256
|
| 217 |
+
],
|
| 218 |
+
"encoder.6.block.0.0.weight": [
|
| 219 |
+
1,
|
| 220 |
+
64
|
| 221 |
+
],
|
| 222 |
+
"encoder.6.block.0.1.weight": [
|
| 223 |
+
2,
|
| 224 |
+
256
|
| 225 |
+
],
|
| 226 |
+
"encoder.6.block.0.1.bias": [
|
| 227 |
+
2,
|
| 228 |
+
256
|
| 229 |
+
],
|
| 230 |
+
"encoder.6.block.1.0.weight": [
|
| 231 |
+
2,
|
| 232 |
+
256
|
| 233 |
+
],
|
| 234 |
+
"encoder.6.block.1.1.weight": [
|
| 235 |
+
2,
|
| 236 |
+
256
|
| 237 |
+
],
|
| 238 |
+
"encoder.6.block.1.1.bias": [
|
| 239 |
+
2,
|
| 240 |
+
256
|
| 241 |
+
],
|
| 242 |
+
"encoder.6.block.2.fc1.weight": [
|
| 243 |
+
1,
|
| 244 |
+
64
|
| 245 |
+
],
|
| 246 |
+
"encoder.6.block.2.fc1.bias": [
|
| 247 |
+
2,
|
| 248 |
+
256
|
| 249 |
+
],
|
| 250 |
+
"encoder.6.block.2.fc2.weight": [
|
| 251 |
+
2,
|
| 252 |
+
256
|
| 253 |
+
],
|
| 254 |
+
"encoder.6.block.2.fc2.bias": [
|
| 255 |
+
2,
|
| 256 |
+
256
|
| 257 |
+
],
|
| 258 |
+
"encoder.6.block.3.0.weight": [
|
| 259 |
+
1,
|
| 260 |
+
64
|
| 261 |
+
],
|
| 262 |
+
"encoder.6.block.3.1.weight": [
|
| 263 |
+
2,
|
| 264 |
+
256
|
| 265 |
+
],
|
| 266 |
+
"encoder.6.block.3.1.bias": [
|
| 267 |
+
2,
|
| 268 |
+
256
|
| 269 |
+
],
|
| 270 |
+
"encoder.7.block.0.0.weight": [
|
| 271 |
+
1,
|
| 272 |
+
32
|
| 273 |
+
],
|
| 274 |
+
"encoder.7.block.0.1.weight": [
|
| 275 |
+
2,
|
| 276 |
+
256
|
| 277 |
+
],
|
| 278 |
+
"encoder.7.block.0.1.bias": [
|
| 279 |
+
2,
|
| 280 |
+
256
|
| 281 |
+
],
|
| 282 |
+
"encoder.7.block.1.0.weight": [
|
| 283 |
+
2,
|
| 284 |
+
256
|
| 285 |
+
],
|
| 286 |
+
"encoder.7.block.1.1.weight": [
|
| 287 |
+
2,
|
| 288 |
+
256
|
| 289 |
+
],
|
| 290 |
+
"encoder.7.block.1.1.bias": [
|
| 291 |
+
2,
|
| 292 |
+
256
|
| 293 |
+
],
|
| 294 |
+
"encoder.7.block.2.0.weight": [
|
| 295 |
+
2,
|
| 296 |
+
256
|
| 297 |
+
],
|
| 298 |
+
"encoder.7.block.2.1.weight": [
|
| 299 |
+
2,
|
| 300 |
+
256
|
| 301 |
+
],
|
| 302 |
+
"encoder.7.block.2.1.bias": [
|
| 303 |
+
2,
|
| 304 |
+
256
|
| 305 |
+
],
|
| 306 |
+
"encoder.8.block.0.0.weight": [
|
| 307 |
+
1,
|
| 308 |
+
64
|
| 309 |
+
],
|
| 310 |
+
"encoder.8.block.0.1.weight": [
|
| 311 |
+
2,
|
| 312 |
+
256
|
| 313 |
+
],
|
| 314 |
+
"encoder.8.block.0.1.bias": [
|
| 315 |
+
2,
|
| 316 |
+
256
|
| 317 |
+
],
|
| 318 |
+
"encoder.8.block.1.0.weight": [
|
| 319 |
+
1,
|
| 320 |
+
64
|
| 321 |
+
],
|
| 322 |
+
"encoder.8.block.1.1.weight": [
|
| 323 |
+
2,
|
| 324 |
+
256
|
| 325 |
+
],
|
| 326 |
+
"encoder.8.block.1.1.bias": [
|
| 327 |
+
2,
|
| 328 |
+
256
|
| 329 |
+
],
|
| 330 |
+
"encoder.8.block.2.0.weight": [
|
| 331 |
+
2,
|
| 332 |
+
256
|
| 333 |
+
],
|
| 334 |
+
"encoder.8.block.2.1.weight": [
|
| 335 |
+
2,
|
| 336 |
+
256
|
| 337 |
+
],
|
| 338 |
+
"encoder.8.block.2.1.bias": [
|
| 339 |
+
2,
|
| 340 |
+
256
|
| 341 |
+
],
|
| 342 |
+
"encoder.9.block.0.0.weight": [
|
| 343 |
+
1,
|
| 344 |
+
32
|
| 345 |
+
],
|
| 346 |
+
"encoder.9.block.0.1.weight": [
|
| 347 |
+
2,
|
| 348 |
+
256
|
| 349 |
+
],
|
| 350 |
+
"encoder.9.block.0.1.bias": [
|
| 351 |
+
2,
|
| 352 |
+
256
|
| 353 |
+
],
|
| 354 |
+
"encoder.9.block.1.0.weight": [
|
| 355 |
+
2,
|
| 356 |
+
256
|
| 357 |
+
],
|
| 358 |
+
"encoder.9.block.1.1.weight": [
|
| 359 |
+
2,
|
| 360 |
+
256
|
| 361 |
+
],
|
| 362 |
+
"encoder.9.block.1.1.bias": [
|
| 363 |
+
2,
|
| 364 |
+
256
|
| 365 |
+
],
|
| 366 |
+
"encoder.9.block.2.0.weight": [
|
| 367 |
+
2,
|
| 368 |
+
256
|
| 369 |
+
],
|
| 370 |
+
"encoder.9.block.2.1.weight": [
|
| 371 |
+
2,
|
| 372 |
+
256
|
| 373 |
+
],
|
| 374 |
+
"encoder.9.block.2.1.bias": [
|
| 375 |
+
2,
|
| 376 |
+
256
|
| 377 |
+
],
|
| 378 |
+
"encoder.10.block.0.0.weight": [
|
| 379 |
+
2,
|
| 380 |
+
256
|
| 381 |
+
],
|
| 382 |
+
"encoder.10.block.0.1.weight": [
|
| 383 |
+
2,
|
| 384 |
+
256
|
| 385 |
+
],
|
| 386 |
+
"encoder.10.block.0.1.bias": [
|
| 387 |
+
2,
|
| 388 |
+
256
|
| 389 |
+
],
|
| 390 |
+
"encoder.10.block.1.0.weight": [
|
| 391 |
+
1,
|
| 392 |
+
64
|
| 393 |
+
],
|
| 394 |
+
"encoder.10.block.1.1.weight": [
|
| 395 |
+
2,
|
| 396 |
+
256
|
| 397 |
+
],
|
| 398 |
+
"encoder.10.block.1.1.bias": [
|
| 399 |
+
2,
|
| 400 |
+
256
|
| 401 |
+
],
|
| 402 |
+
"encoder.10.block.2.0.weight": [
|
| 403 |
+
2,
|
| 404 |
+
256
|
| 405 |
+
],
|
| 406 |
+
"encoder.10.block.2.1.weight": [
|
| 407 |
+
2,
|
| 408 |
+
256
|
| 409 |
+
],
|
| 410 |
+
"encoder.10.block.2.1.bias": [
|
| 411 |
+
2,
|
| 412 |
+
256
|
| 413 |
+
],
|
| 414 |
+
"encoder.11.block.0.0.weight": [
|
| 415 |
+
1,
|
| 416 |
+
64
|
| 417 |
+
],
|
| 418 |
+
"encoder.11.block.0.1.weight": [
|
| 419 |
+
2,
|
| 420 |
+
256
|
| 421 |
+
],
|
| 422 |
+
"encoder.11.block.0.1.bias": [
|
| 423 |
+
2,
|
| 424 |
+
256
|
| 425 |
+
],
|
| 426 |
+
"encoder.11.block.1.0.weight": [
|
| 427 |
+
1,
|
| 428 |
+
64
|
| 429 |
+
],
|
| 430 |
+
"encoder.11.block.1.1.weight": [
|
| 431 |
+
2,
|
| 432 |
+
256
|
| 433 |
+
],
|
| 434 |
+
"encoder.11.block.1.1.bias": [
|
| 435 |
+
2,
|
| 436 |
+
256
|
| 437 |
+
],
|
| 438 |
+
"encoder.11.block.2.fc1.weight": [
|
| 439 |
+
1,
|
| 440 |
+
64
|
| 441 |
+
],
|
| 442 |
+
"encoder.11.block.2.fc1.bias": [
|
| 443 |
+
2,
|
| 444 |
+
256
|
| 445 |
+
],
|
| 446 |
+
"encoder.11.block.2.fc2.weight": [
|
| 447 |
+
1,
|
| 448 |
+
64
|
| 449 |
+
],
|
| 450 |
+
"encoder.11.block.2.fc2.bias": [
|
| 451 |
+
2,
|
| 452 |
+
256
|
| 453 |
+
],
|
| 454 |
+
"encoder.11.block.3.0.weight": [
|
| 455 |
+
1,
|
| 456 |
+
64
|
| 457 |
+
],
|
| 458 |
+
"encoder.11.block.3.1.weight": [
|
| 459 |
+
2,
|
| 460 |
+
256
|
| 461 |
+
],
|
| 462 |
+
"encoder.11.block.3.1.bias": [
|
| 463 |
+
2,
|
| 464 |
+
256
|
| 465 |
+
],
|
| 466 |
+
"encoder.12.block.0.0.weight": [
|
| 467 |
+
1,
|
| 468 |
+
64
|
| 469 |
+
],
|
| 470 |
+
"encoder.12.block.0.1.weight": [
|
| 471 |
+
2,
|
| 472 |
+
256
|
| 473 |
+
],
|
| 474 |
+
"encoder.12.block.0.1.bias": [
|
| 475 |
+
2,
|
| 476 |
+
256
|
| 477 |
+
],
|
| 478 |
+
"encoder.12.block.1.0.weight": [
|
| 479 |
+
2,
|
| 480 |
+
256
|
| 481 |
+
],
|
| 482 |
+
"encoder.12.block.1.1.weight": [
|
| 483 |
+
2,
|
| 484 |
+
256
|
| 485 |
+
],
|
| 486 |
+
"encoder.12.block.1.1.bias": [
|
| 487 |
+
2,
|
| 488 |
+
256
|
| 489 |
+
],
|
| 490 |
+
"encoder.12.block.2.fc1.weight": [
|
| 491 |
+
1,
|
| 492 |
+
64
|
| 493 |
+
],
|
| 494 |
+
"encoder.12.block.2.fc1.bias": [
|
| 495 |
+
2,
|
| 496 |
+
256
|
| 497 |
+
],
|
| 498 |
+
"encoder.12.block.2.fc2.weight": [
|
| 499 |
+
1,
|
| 500 |
+
64
|
| 501 |
+
],
|
| 502 |
+
"encoder.12.block.2.fc2.bias": [
|
| 503 |
+
2,
|
| 504 |
+
256
|
| 505 |
+
],
|
| 506 |
+
"encoder.12.block.3.0.weight": [
|
| 507 |
+
1,
|
| 508 |
+
64
|
| 509 |
+
],
|
| 510 |
+
"encoder.12.block.3.1.weight": [
|
| 511 |
+
2,
|
| 512 |
+
256
|
| 513 |
+
],
|
| 514 |
+
"encoder.12.block.3.1.bias": [
|
| 515 |
+
2,
|
| 516 |
+
256
|
| 517 |
+
],
|
| 518 |
+
"encoder.13.block.0.0.weight": [
|
| 519 |
+
1,
|
| 520 |
+
64
|
| 521 |
+
],
|
| 522 |
+
"encoder.13.block.0.1.weight": [
|
| 523 |
+
2,
|
| 524 |
+
256
|
| 525 |
+
],
|
| 526 |
+
"encoder.13.block.0.1.bias": [
|
| 527 |
+
2,
|
| 528 |
+
256
|
| 529 |
+
],
|
| 530 |
+
"encoder.13.block.1.0.weight": [
|
| 531 |
+
1,
|
| 532 |
+
64
|
| 533 |
+
],
|
| 534 |
+
"encoder.13.block.1.1.weight": [
|
| 535 |
+
2,
|
| 536 |
+
256
|
| 537 |
+
],
|
| 538 |
+
"encoder.13.block.1.1.bias": [
|
| 539 |
+
2,
|
| 540 |
+
256
|
| 541 |
+
],
|
| 542 |
+
"encoder.13.block.2.fc1.weight": [
|
| 543 |
+
1,
|
| 544 |
+
64
|
| 545 |
+
],
|
| 546 |
+
"encoder.13.block.2.fc1.bias": [
|
| 547 |
+
2,
|
| 548 |
+
256
|
| 549 |
+
],
|
| 550 |
+
"encoder.13.block.2.fc2.weight": [
|
| 551 |
+
1,
|
| 552 |
+
64
|
| 553 |
+
],
|
| 554 |
+
"encoder.13.block.2.fc2.bias": [
|
| 555 |
+
2,
|
| 556 |
+
256
|
| 557 |
+
],
|
| 558 |
+
"encoder.13.block.3.0.weight": [
|
| 559 |
+
1,
|
| 560 |
+
64
|
| 561 |
+
],
|
| 562 |
+
"encoder.13.block.3.1.weight": [
|
| 563 |
+
2,
|
| 564 |
+
256
|
| 565 |
+
],
|
| 566 |
+
"encoder.13.block.3.1.bias": [
|
| 567 |
+
2,
|
| 568 |
+
256
|
| 569 |
+
],
|
| 570 |
+
"encoder.14.block.0.0.weight": [
|
| 571 |
+
1,
|
| 572 |
+
64
|
| 573 |
+
],
|
| 574 |
+
"encoder.14.block.0.1.weight": [
|
| 575 |
+
2,
|
| 576 |
+
256
|
| 577 |
+
],
|
| 578 |
+
"encoder.14.block.0.1.bias": [
|
| 579 |
+
2,
|
| 580 |
+
256
|
| 581 |
+
],
|
| 582 |
+
"encoder.14.block.1.0.weight": [
|
| 583 |
+
1,
|
| 584 |
+
64
|
| 585 |
+
],
|
| 586 |
+
"encoder.14.block.1.1.weight": [
|
| 587 |
+
2,
|
| 588 |
+
256
|
| 589 |
+
],
|
| 590 |
+
"encoder.14.block.1.1.bias": [
|
| 591 |
+
2,
|
| 592 |
+
256
|
| 593 |
+
],
|
| 594 |
+
"encoder.14.block.2.fc1.weight": [
|
| 595 |
+
1,
|
| 596 |
+
64
|
| 597 |
+
],
|
| 598 |
+
"encoder.14.block.2.fc1.bias": [
|
| 599 |
+
2,
|
| 600 |
+
256
|
| 601 |
+
],
|
| 602 |
+
"encoder.14.block.2.fc2.weight": [
|
| 603 |
+
1,
|
| 604 |
+
64
|
| 605 |
+
],
|
| 606 |
+
"encoder.14.block.2.fc2.bias": [
|
| 607 |
+
2,
|
| 608 |
+
256
|
| 609 |
+
],
|
| 610 |
+
"encoder.14.block.3.0.weight": [
|
| 611 |
+
1,
|
| 612 |
+
64
|
| 613 |
+
],
|
| 614 |
+
"encoder.14.block.3.1.weight": [
|
| 615 |
+
2,
|
| 616 |
+
256
|
| 617 |
+
],
|
| 618 |
+
"encoder.14.block.3.1.bias": [
|
| 619 |
+
2,
|
| 620 |
+
256
|
| 621 |
+
],
|
| 622 |
+
"encoder.15.block.0.0.weight": [
|
| 623 |
+
1,
|
| 624 |
+
64
|
| 625 |
+
],
|
| 626 |
+
"encoder.15.block.0.1.weight": [
|
| 627 |
+
2,
|
| 628 |
+
256
|
| 629 |
+
],
|
| 630 |
+
"encoder.15.block.0.1.bias": [
|
| 631 |
+
2,
|
| 632 |
+
256
|
| 633 |
+
],
|
| 634 |
+
"encoder.15.block.1.0.weight": [
|
| 635 |
+
2,
|
| 636 |
+
256
|
| 637 |
+
],
|
| 638 |
+
"encoder.15.block.1.1.weight": [
|
| 639 |
+
2,
|
| 640 |
+
256
|
| 641 |
+
],
|
| 642 |
+
"encoder.15.block.1.1.bias": [
|
| 643 |
+
2,
|
| 644 |
+
256
|
| 645 |
+
],
|
| 646 |
+
"encoder.15.block.2.fc1.weight": [
|
| 647 |
+
1,
|
| 648 |
+
64
|
| 649 |
+
],
|
| 650 |
+
"encoder.15.block.2.fc1.bias": [
|
| 651 |
+
2,
|
| 652 |
+
256
|
| 653 |
+
],
|
| 654 |
+
"encoder.15.block.2.fc2.weight": [
|
| 655 |
+
1,
|
| 656 |
+
64
|
| 657 |
+
],
|
| 658 |
+
"encoder.15.block.2.fc2.bias": [
|
| 659 |
+
2,
|
| 660 |
+
256
|
| 661 |
+
],
|
| 662 |
+
"encoder.15.block.3.0.weight": [
|
| 663 |
+
2,
|
| 664 |
+
256
|
| 665 |
+
],
|
| 666 |
+
"encoder.15.block.3.1.weight": [
|
| 667 |
+
2,
|
| 668 |
+
256
|
| 669 |
+
],
|
| 670 |
+
"encoder.15.block.3.1.bias": [
|
| 671 |
+
2,
|
| 672 |
+
256
|
| 673 |
+
],
|
| 674 |
+
"encoder.16.0.weight": [
|
| 675 |
+
2,
|
| 676 |
+
256
|
| 677 |
+
],
|
| 678 |
+
"encoder.16.1.weight": [
|
| 679 |
+
2,
|
| 680 |
+
256
|
| 681 |
+
],
|
| 682 |
+
"encoder.16.1.bias": [
|
| 683 |
+
2,
|
| 684 |
+
256
|
| 685 |
+
],
|
| 686 |
+
"lateral.0.weight": [
|
| 687 |
+
1,
|
| 688 |
+
64
|
| 689 |
+
],
|
| 690 |
+
"lateral.0.bias": [
|
| 691 |
+
2,
|
| 692 |
+
256
|
| 693 |
+
],
|
| 694 |
+
"lateral.1.weight": [
|
| 695 |
+
1,
|
| 696 |
+
64
|
| 697 |
+
],
|
| 698 |
+
"lateral.1.bias": [
|
| 699 |
+
2,
|
| 700 |
+
256
|
| 701 |
+
],
|
| 702 |
+
"lateral.2.weight": [
|
| 703 |
+
1,
|
| 704 |
+
64
|
| 705 |
+
],
|
| 706 |
+
"lateral.2.bias": [
|
| 707 |
+
2,
|
| 708 |
+
256
|
| 709 |
+
],
|
| 710 |
+
"lateral.3.weight": [
|
| 711 |
+
1,
|
| 712 |
+
64
|
| 713 |
+
],
|
| 714 |
+
"lateral.3.bias": [
|
| 715 |
+
2,
|
| 716 |
+
256
|
| 717 |
+
],
|
| 718 |
+
"refine.0.0.weight": [
|
| 719 |
+
1,
|
| 720 |
+
64
|
| 721 |
+
],
|
| 722 |
+
"refine.0.1.weight": [
|
| 723 |
+
2,
|
| 724 |
+
256
|
| 725 |
+
],
|
| 726 |
+
"refine.0.1.bias": [
|
| 727 |
+
2,
|
| 728 |
+
256
|
| 729 |
+
],
|
| 730 |
+
"refine.1.0.weight": [
|
| 731 |
+
1,
|
| 732 |
+
64
|
| 733 |
+
],
|
| 734 |
+
"refine.1.1.weight": [
|
| 735 |
+
2,
|
| 736 |
+
256
|
| 737 |
+
],
|
| 738 |
+
"refine.1.1.bias": [
|
| 739 |
+
2,
|
| 740 |
+
256
|
| 741 |
+
],
|
| 742 |
+
"refine.2.0.weight": [
|
| 743 |
+
1,
|
| 744 |
+
64
|
| 745 |
+
],
|
| 746 |
+
"refine.2.1.weight": [
|
| 747 |
+
2,
|
| 748 |
+
256
|
| 749 |
+
],
|
| 750 |
+
"refine.2.1.bias": [
|
| 751 |
+
2,
|
| 752 |
+
256
|
| 753 |
+
],
|
| 754 |
+
"query_blocks.0.self_attn.in_proj_weight": [
|
| 755 |
+
1,
|
| 756 |
+
64
|
| 757 |
+
],
|
| 758 |
+
"query_blocks.0.self_attn.in_proj_bias": [
|
| 759 |
+
2,
|
| 760 |
+
256
|
| 761 |
+
],
|
| 762 |
+
"query_blocks.0.self_attn.out_proj.weight": [
|
| 763 |
+
1,
|
| 764 |
+
64
|
| 765 |
+
],
|
| 766 |
+
"query_blocks.0.self_attn.out_proj.bias": [
|
| 767 |
+
2,
|
| 768 |
+
256
|
| 769 |
+
],
|
| 770 |
+
"query_blocks.0.cross_attn.in_proj_weight": [
|
| 771 |
+
1,
|
| 772 |
+
64
|
| 773 |
+
],
|
| 774 |
+
"query_blocks.0.cross_attn.in_proj_bias": [
|
| 775 |
+
2,
|
| 776 |
+
256
|
| 777 |
+
],
|
| 778 |
+
"query_blocks.0.cross_attn.out_proj.weight": [
|
| 779 |
+
1,
|
| 780 |
+
64
|
| 781 |
+
],
|
| 782 |
+
"query_blocks.0.cross_attn.out_proj.bias": [
|
| 783 |
+
2,
|
| 784 |
+
256
|
| 785 |
+
],
|
| 786 |
+
"query_blocks.0.norms.0.weight": [
|
| 787 |
+
2,
|
| 788 |
+
256
|
| 789 |
+
],
|
| 790 |
+
"query_blocks.0.norms.0.bias": [
|
| 791 |
+
2,
|
| 792 |
+
256
|
| 793 |
+
],
|
| 794 |
+
"query_blocks.0.norms.1.weight": [
|
| 795 |
+
2,
|
| 796 |
+
256
|
| 797 |
+
],
|
| 798 |
+
"query_blocks.0.norms.1.bias": [
|
| 799 |
+
2,
|
| 800 |
+
256
|
| 801 |
+
],
|
| 802 |
+
"query_blocks.0.norms.2.weight": [
|
| 803 |
+
2,
|
| 804 |
+
256
|
| 805 |
+
],
|
| 806 |
+
"query_blocks.0.norms.2.bias": [
|
| 807 |
+
2,
|
| 808 |
+
256
|
| 809 |
+
],
|
| 810 |
+
"query_blocks.0.ff.0.weight": [
|
| 811 |
+
1,
|
| 812 |
+
64
|
| 813 |
+
],
|
| 814 |
+
"query_blocks.0.ff.0.bias": [
|
| 815 |
+
2,
|
| 816 |
+
256
|
| 817 |
+
],
|
| 818 |
+
"query_blocks.0.ff.2.weight": [
|
| 819 |
+
1,
|
| 820 |
+
64
|
| 821 |
+
],
|
| 822 |
+
"query_blocks.0.ff.2.bias": [
|
| 823 |
+
2,
|
| 824 |
+
256
|
| 825 |
+
],
|
| 826 |
+
"query_blocks.1.self_attn.in_proj_weight": [
|
| 827 |
+
1,
|
| 828 |
+
64
|
| 829 |
+
],
|
| 830 |
+
"query_blocks.1.self_attn.in_proj_bias": [
|
| 831 |
+
2,
|
| 832 |
+
256
|
| 833 |
+
],
|
| 834 |
+
"query_blocks.1.self_attn.out_proj.weight": [
|
| 835 |
+
1,
|
| 836 |
+
64
|
| 837 |
+
],
|
| 838 |
+
"query_blocks.1.self_attn.out_proj.bias": [
|
| 839 |
+
2,
|
| 840 |
+
256
|
| 841 |
+
],
|
| 842 |
+
"query_blocks.1.cross_attn.in_proj_weight": [
|
| 843 |
+
1,
|
| 844 |
+
64
|
| 845 |
+
],
|
| 846 |
+
"query_blocks.1.cross_attn.in_proj_bias": [
|
| 847 |
+
2,
|
| 848 |
+
256
|
| 849 |
+
],
|
| 850 |
+
"query_blocks.1.cross_attn.out_proj.weight": [
|
| 851 |
+
1,
|
| 852 |
+
64
|
| 853 |
+
],
|
| 854 |
+
"query_blocks.1.cross_attn.out_proj.bias": [
|
| 855 |
+
2,
|
| 856 |
+
256
|
| 857 |
+
],
|
| 858 |
+
"query_blocks.1.norms.0.weight": [
|
| 859 |
+
2,
|
| 860 |
+
256
|
| 861 |
+
],
|
| 862 |
+
"query_blocks.1.norms.0.bias": [
|
| 863 |
+
2,
|
| 864 |
+
256
|
| 865 |
+
],
|
| 866 |
+
"query_blocks.1.norms.1.weight": [
|
| 867 |
+
2,
|
| 868 |
+
256
|
| 869 |
+
],
|
| 870 |
+
"query_blocks.1.norms.1.bias": [
|
| 871 |
+
2,
|
| 872 |
+
256
|
| 873 |
+
],
|
| 874 |
+
"query_blocks.1.norms.2.weight": [
|
| 875 |
+
2,
|
| 876 |
+
256
|
| 877 |
+
],
|
| 878 |
+
"query_blocks.1.norms.2.bias": [
|
| 879 |
+
2,
|
| 880 |
+
256
|
| 881 |
+
],
|
| 882 |
+
"query_blocks.1.ff.0.weight": [
|
| 883 |
+
1,
|
| 884 |
+
64
|
| 885 |
+
],
|
| 886 |
+
"query_blocks.1.ff.0.bias": [
|
| 887 |
+
2,
|
| 888 |
+
256
|
| 889 |
+
],
|
| 890 |
+
"query_blocks.1.ff.2.weight": [
|
| 891 |
+
1,
|
| 892 |
+
64
|
| 893 |
+
],
|
| 894 |
+
"query_blocks.1.ff.2.bias": [
|
| 895 |
+
2,
|
| 896 |
+
256
|
| 897 |
+
],
|
| 898 |
+
"memory_norm.weight": [
|
| 899 |
+
2,
|
| 900 |
+
256
|
| 901 |
+
],
|
| 902 |
+
"memory_norm.bias": [
|
| 903 |
+
2,
|
| 904 |
+
256
|
| 905 |
+
],
|
| 906 |
+
"query_norm.weight": [
|
| 907 |
+
2,
|
| 908 |
+
256
|
| 909 |
+
],
|
| 910 |
+
"query_norm.bias": [
|
| 911 |
+
2,
|
| 912 |
+
256
|
| 913 |
+
],
|
| 914 |
+
"pixel.weight": [
|
| 915 |
+
1,
|
| 916 |
+
64
|
| 917 |
+
],
|
| 918 |
+
"pixel.bias": [
|
| 919 |
+
2,
|
| 920 |
+
256
|
| 921 |
+
],
|
| 922 |
+
"palette.0.weight": [
|
| 923 |
+
1,
|
| 924 |
+
64
|
| 925 |
+
],
|
| 926 |
+
"palette.0.bias": [
|
| 927 |
+
2,
|
| 928 |
+
256
|
| 929 |
+
],
|
| 930 |
+
"palette.2.weight": [
|
| 931 |
+
1,
|
| 932 |
+
64
|
| 933 |
+
],
|
| 934 |
+
"palette.2.bias": [
|
| 935 |
+
2,
|
| 936 |
+
256
|
| 937 |
+
],
|
| 938 |
+
"residual.weight": [
|
| 939 |
+
2,
|
| 940 |
+
256
|
| 941 |
+
],
|
| 942 |
+
"residual.bias": [
|
| 943 |
+
2,
|
| 944 |
+
256
|
| 945 |
+
]
|
| 946 |
+
}
|
quantized/base93-v3/requirements.txt
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
torch==2.8.0
|
| 2 |
+
torchvision==0.23.0
|
| 3 |
+
numpy==1.26.4
|
| 4 |
+
Pillow==11.1.0
|
| 5 |
+
scikit-image==0.25.2
|
| 6 |
+
safetensors==0.5.3
|
| 7 |
+
huggingface-hub>=1.0,<2
|
quantized/base93-v3/semantic_model.py
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Compact pretrained semantic colorizer; dense and shared-palette variants."""
|
| 2 |
+
import json
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
import torch
|
| 5 |
+
from torch import nn
|
| 6 |
+
import torch.nn.functional as F
|
| 7 |
+
from torchvision.models import mobilenet_v3_large, MobileNet_V3_Large_Weights
|
| 8 |
+
from safetensors.torch import save_file, load_file
|
| 9 |
+
|
| 10 |
+
class QueryBlock(nn.Module):
|
| 11 |
+
def __init__(self,d=96):
|
| 12 |
+
super().__init__()
|
| 13 |
+
self.self_attn=nn.MultiheadAttention(d,4,batch_first=True,dropout=0)
|
| 14 |
+
self.cross_attn=nn.MultiheadAttention(d,4,batch_first=True,dropout=0)
|
| 15 |
+
self.norms=nn.ModuleList([nn.LayerNorm(d) for _ in range(3)])
|
| 16 |
+
self.ff=nn.Sequential(nn.Linear(d,2*d),nn.GELU(),nn.Linear(2*d,d))
|
| 17 |
+
def forward(self,q,memory):
|
| 18 |
+
x=self.norms[0](q);q=q+self.self_attn(x,x,x,need_weights=False)[0]
|
| 19 |
+
x=self.norms[1](q);q=q+self.cross_attn(x,memory,memory,need_weights=False)[0]
|
| 20 |
+
return q+self.ff(self.norms[2](q))
|
| 21 |
+
|
| 22 |
+
def refine(d):
|
| 23 |
+
return nn.Sequential(nn.Conv2d(d,d,3,padding=1,bias=False),nn.GroupNorm(8,d),nn.SiLU())
|
| 24 |
+
|
| 25 |
+
class SemanticColorizer(nn.Module):
|
| 26 |
+
def __init__(self,head='palette',pretrained=False,width=128,queries=16):
|
| 27 |
+
super().__init__()
|
| 28 |
+
if head not in ['palette','dense']:raise ValueError(head)
|
| 29 |
+
self.config={'architecture':'SemanticColorizer','head':head,'width':width,'queries':queries,'format_version':1}
|
| 30 |
+
self.encoder=mobilenet_v3_large(weights=MobileNet_V3_Large_Weights.IMAGENET1K_V2 if pretrained else None,progress=False).features
|
| 31 |
+
self.lateral=nn.ModuleList([nn.Conv2d(c,width,1) for c in [24,40,112,960]])
|
| 32 |
+
self.refine=nn.ModuleList([refine(width) for _ in range(3)])
|
| 33 |
+
self.register_buffer('rgb_mean',torch.tensor([.485,.456,.406]).view(1,3,1,1))
|
| 34 |
+
self.register_buffer('rgb_std',torch.tensor([.229,.224,.225]).view(1,3,1,1))
|
| 35 |
+
if head=='palette':
|
| 36 |
+
self.queries=nn.Parameter(torch.randn(queries,width)*.2)
|
| 37 |
+
self.query_blocks=nn.ModuleList([QueryBlock(width) for _ in range(2)])
|
| 38 |
+
self.memory_norm=nn.LayerNorm(width)
|
| 39 |
+
self.query_norm=nn.LayerNorm(width)
|
| 40 |
+
self.pixel=nn.Conv2d(width,width,1)
|
| 41 |
+
self.palette=nn.Sequential(nn.Linear(width,width),nn.GELU(),nn.Linear(width,2))
|
| 42 |
+
self.residual=nn.Conv2d(width,2,1)
|
| 43 |
+
nn.init.normal_(self.palette[-1].weight,std=.01);nn.init.zeros_(self.palette[-1].bias)
|
| 44 |
+
nn.init.zeros_(self.residual.weight);nn.init.zeros_(self.residual.bias)
|
| 45 |
+
else:
|
| 46 |
+
self.dense=nn.Sequential(refine(width),nn.Conv2d(width,2,1))
|
| 47 |
+
nn.init.normal_(self.dense[-1].weight,std=.01);nn.init.zeros_(self.dense[-1].bias)
|
| 48 |
+
count=sum(p.numel() for p in self.parameters())
|
| 49 |
+
if count>=4_000_000:raise ValueError(f'Parameter budget exceeded: {count}')
|
| 50 |
+
|
| 51 |
+
@staticmethod
|
| 52 |
+
def neutral_rgb(L):
|
| 53 |
+
light=(L.float()*50+50).clamp(0,100)
|
| 54 |
+
y=torch.where(light>8,((light+16)/116)**3,light/903.296296)
|
| 55 |
+
g=torch.where(y<=.0031308,12.92*y,1.055*y.clamp_min(1e-8).pow(1/2.4)-.055)
|
| 56 |
+
return g.expand(-1,3,-1,-1)
|
| 57 |
+
|
| 58 |
+
def forward(self,L):
|
| 59 |
+
h,w=L.shape[-2:]
|
| 60 |
+
x=F.pad(self.neutral_rgb(L),(0,(-w)%32,0,(-h)%32),mode='replicate')
|
| 61 |
+
x=(x-self.rgb_mean)/self.rgb_std
|
| 62 |
+
features=[]
|
| 63 |
+
for i,layer in enumerate(self.encoder):
|
| 64 |
+
x=layer(x)
|
| 65 |
+
if i in [3,6,12,16]:features.append(x)
|
| 66 |
+
projected=[layer(f) for layer,f in zip(self.lateral,features)]
|
| 67 |
+
x=projected[-1]
|
| 68 |
+
for i in range(2,-1,-1):
|
| 69 |
+
x=self.refine[2-i](F.interpolate(x,size=projected[i].shape[-2:],mode='bilinear',align_corners=False)+projected[i])
|
| 70 |
+
if self.config['head']=='palette':
|
| 71 |
+
memory=torch.cat([F.adaptive_avg_pool2d(f,(8,8)).flatten(2).transpose(1,2) for f in projected[1:]],1)
|
| 72 |
+
memory=self.memory_norm(memory)
|
| 73 |
+
q=self.queries[None].expand(L.shape[0],-1,-1)
|
| 74 |
+
for block in self.query_blocks:q=block(q,memory)
|
| 75 |
+
q=self.query_norm(q)
|
| 76 |
+
palette=80*torch.tanh(self.palette(q))
|
| 77 |
+
masks=torch.einsum('bqd,bdhw->bqhw',q,self.pixel(x))/(self.config['width']**.5)
|
| 78 |
+
weights=F.softmax(masks.float(),dim=1)
|
| 79 |
+
ab=torch.einsum('bqhw,bqc->bchw',weights,palette.float())+2*torch.tanh(self.residual(x).float())
|
| 80 |
+
else:ab=80*torch.tanh(self.dense(x).float())
|
| 81 |
+
return F.interpolate(ab,size=(x.shape[-2]*4,x.shape[-1]*4),mode='bilinear',align_corners=False)[...,:h,:w]
|
| 82 |
+
def decode(self,z,temperature=.38):return z.float()
|
| 83 |
+
|
| 84 |
+
def save_semantic(model,path):
|
| 85 |
+
path=Path(path);path.mkdir(parents=True,exist_ok=True)
|
| 86 |
+
save_file({k:v.detach().cpu().contiguous() for k,v in model.state_dict().items()},str(path/'model.safetensors'))
|
| 87 |
+
(path/'config.json').write_text(json.dumps(model.config,indent=2))
|
| 88 |
+
(path/'README.md').write_text('# Experimental semantic colorizer\n\nHead: '+model.config['head']+'. Parameters: '+str(sum(p.numel() for p in model.parameters()))+'.\n\nNot approved for production. Requires semantic_model.py; incompatible with the old U-Net loader. Input is Lab lightness normalized to [-1,1]; output is Lab ab. See the run protocol, provenance, selection and visual comparisons. Predictions are plausible colors, not recovered historical truth.\n')
|
| 89 |
+
|
| 90 |
+
def load_semantic(path,device='cpu'):
|
| 91 |
+
path=Path(path);cfg=json.loads((path/'config.json').read_text())
|
| 92 |
+
model=SemanticColorizer(**{k:cfg[k] for k in ['head','width','queries']})
|
| 93 |
+
model.load_state_dict(load_file(str(path/'model.safetensors')),strict=True)
|
| 94 |
+
return model.to(device).eval()
|
quantized/base93-v3/verify_decoders.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Independent whole-file decoder verification against Python's little-endian hashes.
|
| 2 |
+
const fs=require('fs'),crypto=require('crypto'),assert=require('assert');
|
| 3 |
+
const {decodeBase93}=require('./decode_base93');
|
| 4 |
+
const text=fs.readFileSync(process.argv[2]||__dirname+'/weights_base93.txt','ascii');
|
| 5 |
+
const expected=JSON.parse(fs.readFileSync(__dirname+'/decoded_tensor_hashes.json','utf8'));
|
| 6 |
+
assert.strictEqual(JSON.parse(JSON.stringify(text)),text);
|
| 7 |
+
assert(Buffer.byteLength(JSON.stringify(text),'utf8')<5000000);
|
| 8 |
+
const {tensors}=decodeBase93(text);
|
| 9 |
+
assert.strictEqual(Object.keys(tensors).length,Object.keys(expected).length);
|
| 10 |
+
for(const [name,t] of Object.entries(tensors)) {
|
| 11 |
+
const bytes=Buffer.alloc(t.values.length*(t.kind==='i'?8:4));
|
| 12 |
+
for(let i=0;i<t.values.length;i++) {
|
| 13 |
+
if(t.kind==='i')bytes.writeBigInt64LE(t.values[i],8*i);
|
| 14 |
+
else bytes.writeFloatLE(t.values[i],4*i);
|
| 15 |
+
}
|
| 16 |
+
assert.strictEqual(crypto.createHash('sha256').update(bytes).digest('hex'),expected[name],name);
|
| 17 |
+
}
|
| 18 |
+
console.log(JSON.stringify({tensors:Object.keys(tensors).length,python_javascript_bitwise_match:true,json_string_bytes:Buffer.byteLength(JSON.stringify(text)),sha256:crypto.createHash('sha256').update(text,'ascii').digest('hex')}));
|
quantized/base93-v3/weights_base93.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
quantized/mini-unet-colorizer-v3-base93.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e822614417cdfee019ea2f328a00cb6715f3edb62abddbb3b7e7953b1128ac74
|
| 3 |
+
size 9148179
|