Daniele Picone commited on
Commit ·
b9502f4
1
Parent(s): 87db065
Refresh DeepDeWedge tutorial checkpoint to format 2
Browse files- ATTRIBUTION.md +27 -44
- README.md +75 -153
- construction.json +1705 -71
- conversion/conversion-record.json +237 -260
- inference.json +36 -27
- manifest.json +90 -127
- migration/migration-record.json +0 -45
- refresh_format2.py +538 -0
- validation/validation-record.json +30 -36
- weights.safetensors +2 -2
ATTRIBUTION.md
CHANGED
|
@@ -2,47 +2,30 @@
|
|
| 2 |
|
| 3 |
## Original material
|
| 4 |
|
| 5 |
-
**DeepDeWedge Tutorial Data**
|
| 6 |
-
Creator: Simon Wiedemann
|
| 7 |
-
DOI: <https://doi.org/10.6084/m9.figshare.25043435.v1>
|
| 8 |
-
Figshare file
|
| 9 |
-
|
| 10 |
-
License: Creative Commons Attribution 4.0 International
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
The
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
native scitomo `UNet3D` state;
|
| 33 |
-
- the vendor `unet.` namespace was removed;
|
| 34 |
-
- the second bottleneck convolution was mapped from vendor sequence index `2`
|
| 35 |
-
to the semantically equivalent native sequence index `4`;
|
| 36 |
-
- two learned normalization values changed storage role from non-trainable
|
| 37 |
-
parameters to native buffers without changing their values; and
|
| 38 |
-
- strict construction, inference, conversion, validation, provenance, and
|
| 39 |
-
tensor-inventory records were added.
|
| 40 |
-
|
| 41 |
-
No tensor value was intentionally changed. Synthetic forward output was
|
| 42 |
-
bit-exact, and a frozen real tutorial-volume crop passed the predetermined
|
| 43 |
-
relative-L2 parity threshold.
|
| 44 |
-
|
| 45 |
-
The converted package is distributed under the source material's CC BY 4.0
|
| 46 |
-
terms. No endorsement by Simon Wiedemann, Reinhard Heckel, the Machine Learning
|
| 47 |
-
and Information Processing Laboratory, Nature Communications, or Figshare is
|
| 48 |
-
stated or implied.
|
|
|
|
| 2 |
|
| 3 |
## Original material
|
| 4 |
|
| 5 |
+
**DeepDeWedge Tutorial Data**
|
| 6 |
+
Creator: Simon Wiedemann
|
| 7 |
+
DOI: <https://doi.org/10.6084/m9.figshare.25043435.v1>
|
| 8 |
+
Figshare file id: `45582309`
|
| 9 |
+
Archive member: `tutorial_data/fitted_model.ckpt`
|
| 10 |
+
License: Creative Commons Attribution 4.0 International
|
| 11 |
+
|
| 12 |
+
The method is described by Simon Wiedemann and Reinhard Heckel, *A deep
|
| 13 |
+
learning method for simultaneous denoising and missing wedge reconstruction in
|
| 14 |
+
cryogenic electron tomography*, Nature Communications 15, 8255 (2024),
|
| 15 |
+
<https://doi.org/10.1038/s41467-024-51438-y>.
|
| 16 |
+
|
| 17 |
+
Pinned upstream code: <https://github.com/MLI-lab/DeepDeWedge/tree/072075692a44a8f17394214369e6e762abe52bc3>
|
| 18 |
+
(BSD-2-Clause).
|
| 19 |
+
|
| 20 |
+
## Changes in this package
|
| 21 |
+
|
| 22 |
+
On 2026-09-04 Scitomo freshly converted only the authoritative checkpoint
|
| 23 |
+
`official/fitted_model.ckpt`, after byte-size and SHA-256 verification, through
|
| 24 |
+
the exact pinned upstream source and current generic FORMAT 2 exporter. The
|
| 25 |
+
54 U-Net state tensors were explicitly mapped into canonical Network state.
|
| 26 |
+
The two fitted affine quantities were preserved as external DeepDeWedge
|
| 27 |
+
inference-profile state; they are not Network state. No old Hugging Face
|
| 28 |
+
Safetensors or format-1 package artifact was conversion input.
|
| 29 |
+
|
| 30 |
+
No endorsement by the cited authors, the Machine Learning and Information
|
| 31 |
+
Processing Laboratory, Figshare, or the rights holders is implied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -1,160 +1,82 @@
|
|
| 1 |
---
|
| 2 |
license: cc-by-4.0
|
| 3 |
library_name: scitomo
|
| 4 |
-
tags: [cryo-electron-tomography,
|
| 5 |
---
|
| 6 |
|
| 7 |
-
# DeepDeWedge tutorial checkpoint
|
| 8 |
-
|
| 9 |
-
This
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
PyTorch Lightning
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
-
|
| 18 |
-
-
|
| 19 |
-
-
|
| 20 |
-
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
-
|
| 25 |
-
-
|
| 26 |
-
|
| 27 |
-
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
`
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
##
|
| 69 |
-
|
| 70 |
-
`
|
| 71 |
-
with
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
The canonical rotation axis is `Z`; at theta zero the beam axis is `Y`, and
|
| 79 |
-
detector `(V, U)` corresponds to `(Z, X)`.
|
| 80 |
-
|
| 81 |
-
The frozen DeepDeWedge inference profile requires:
|
| 82 |
-
|
| 83 |
-
- paired half-tomograms, refined separately and averaged;
|
| 84 |
-
- a 50-degree full-width missing-wedge Fourier mask on each half;
|
| 85 |
-
- `96 x 96 x 96` patches with overlap `32 x 32 x 32`;
|
| 86 |
-
- trailing reflection padding for full coverage;
|
| 87 |
-
- patch-statistic normalization and network denormalization;
|
| 88 |
-
- linear-ramp weighted patch reassembly; and
|
| 89 |
-
- no full-tomogram standardization.
|
| 90 |
-
|
| 91 |
-
The package was converted from the tutorial's fitted network. It assumes the
|
| 92 |
-
same scientific meaning, preprocessing, normalization, missing-wedge
|
| 93 |
-
convention, and paired-half workflow. It is not a general-purpose cryo-ET
|
| 94 |
-
foundation model.
|
| 95 |
-
|
| 96 |
-
## Files and identities
|
| 97 |
-
|
| 98 |
-
| File | Bytes | SHA-256 |
|
| 99 |
-
| --- | ---: | --- |
|
| 100 |
-
| `construction.json` | 2,175 | `d4c7eced057042438827de168d47b7900311fba742ce52445675be7f40343432` |
|
| 101 |
-
| `inference.json` | 968 | `217636919d17d9332aa49474e893064ed1dfb29f016a468cf22d439cf16887a0` |
|
| 102 |
-
| `weights.safetensors` | 109,294,940 | `2a34aeb61dba5da5c7b78f4cc26de9b8a9134ac12dc08876a8e93bf02776c795` |
|
| 103 |
-
| `conversion/conversion-record.json` | 13,953 | `c2204fdd346b416966d7c14d5746a305e80649a7f381f173c7ad4d9482f3e66d` |
|
| 104 |
-
| `validation/validation-record.json` | 1,946 | `7e018bc98518e898cb723b7c608024e101999a1217e7256a9f3ff6c6da20215e` |
|
| 105 |
-
| `migration/migration-record.json` | 1,518 | `fdabc791f22826bc13622199c73890cb05f89cc7797ae9c62ea5fd40f1f4fd4d` |
|
| 106 |
-
|
| 107 |
-
`manifest.json` binds these files plus this model card, attribution, and
|
| 108 |
-
license resources by exact size and SHA-256. The immutable Hugging Face commit
|
| 109 |
-
and scitomo learned-weight catalog bind the complete distribution, including
|
| 110 |
-
the manifest and documentation resources, without a self-referential checksum
|
| 111 |
-
inside this README.
|
| 112 |
-
|
| 113 |
-
## Validation
|
| 114 |
-
|
| 115 |
-
All 56 source tensors were mapped one-to-one and exactly matched after native
|
| 116 |
-
assignment.
|
| 117 |
-
|
| 118 |
-
Predetermined CPU float32 checks:
|
| 119 |
-
|
| 120 |
-
| Case | Tolerance | Result |
|
| 121 |
-
| --- | --- | --- |
|
| 122 |
-
| Synthetic forward parity | `atol=1e-6`, `rtol=1e-5` | bit-exact; max absolute error `0`; relative L2 `0` |
|
| 123 |
-
| Real tutorial-volume crop | relative L2 `<=1e-4` | max absolute error `7.152557373046875e-7`; relative L2 `1.2612566990810592e-7` |
|
| 124 |
-
|
| 125 |
-
The real-data case used a centered `32 x 32 x 32` crop from
|
| 126 |
-
`tutorial_data/tomo_even_frames.rec`. Vendor and native outputs were finite,
|
| 127 |
-
had identical shapes, and had the same absolute-peak spatial landmark at
|
| 128 |
-
`(Z, Y, X) = (25, 13, 0)`.
|
| 129 |
-
|
| 130 |
-
The evidence proves native network-state and reviewed forward parity for the
|
| 131 |
-
frozen inputs. It does not establish accuracy on every microscope, specimen,
|
| 132 |
-
acquisition protocol, missing-wedge angle, or preprocessing pipeline, nor does
|
| 133 |
-
it replace validation of a complete user workflow.
|
| 134 |
-
|
| 135 |
-
## Safe loading
|
| 136 |
-
|
| 137 |
-
The repository contains declared data files only. Loading does not execute
|
| 138 |
-
remote code, import the vendor project, or use Python pickle. scitomo requires
|
| 139 |
-
the exact catalog commit and verifies every declared size and SHA-256 before
|
| 140 |
-
opening `weights.safetensors`. Hugging Face `trust_remote_code` is never used.
|
| 141 |
-
|
| 142 |
-
Install the learned and catalog extras before resolving the catalog package:
|
| 143 |
-
|
| 144 |
-
```text
|
| 145 |
-
pip install "scitomo[learned,catalog]"
|
| 146 |
```
|
| 147 |
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
## Licenses
|
| 152 |
-
|
| 153 |
-
- Converted weights and their source tutorial dataset: CC BY 4.0. See
|
| 154 |
-
`LICENSES/DeepDeWedge-Tutorial-Data-CC-BY-4.0.txt`.
|
| 155 |
-
- Upstream DeepDeWedge code and behavior used for construction/conversion:
|
| 156 |
-
BSD 2-Clause. See `LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt`.
|
| 157 |
-
|
| 158 |
-
The CC BY 4.0 attribution and modification notice are provided in
|
| 159 |
-
`ATTRIBUTION.md`. No endorsement by the original authors or rights holders is
|
| 160 |
-
implied.
|
|
|
|
| 1 |
---
|
| 2 |
license: cc-by-4.0
|
| 3 |
library_name: scitomo
|
| 4 |
+
tags: [cryo-electron-tomography, deepdewedge, safetensors, scitomo, format-2]
|
| 5 |
---
|
| 6 |
|
| 7 |
+
# DeepDeWedge tutorial checkpoint — fresh Scitomo FORMAT 2 package
|
| 8 |
+
|
| 9 |
+
This is a fresh FORMAT 2 export from the authoritative original Lightning
|
| 10 |
+
checkpoint, not a migration of any earlier Hugging Face package. Normal runtime
|
| 11 |
+
uses Scitomo's generic FORMAT 2 loader and Safetensors only; it does not require
|
| 12 |
+
PyTorch Lightning or the upstream DeepDeWedge source checkout.
|
| 13 |
+
|
| 14 |
+
## Package identity
|
| 15 |
+
|
| 16 |
+
- package id: `deepdewedge_tutorial`; package revision: `3`
|
| 17 |
+
- learned-checkpoint format: `2`; manifest schema: `4`
|
| 18 |
+
- Scitomo conversion checkout: `2832957f69daff0d7baec5df17a7c54954623eed`
|
| 19 |
+
- minimum Scitomo version: `0.7.3`
|
| 20 |
+
- previous Hugging Face commit: `87db06570dd874a99af1289e62b79ea99f87f006` — **HISTORICAL ONLY; NOT CONVERSION INPUT**
|
| 21 |
+
|
| 22 |
+
## Authoritative provenance
|
| 23 |
+
|
| 24 |
+
- upstream repository: <https://github.com/MLI-lab/DeepDeWedge>
|
| 25 |
+
- upstream revision: `072075692a44a8f17394214369e6e762abe52bc3`
|
| 26 |
+
- Figshare DOI: <https://doi.org/10.6084/m9.figshare.25043435.v1>; file id: `45582309`
|
| 27 |
+
- original archive SHA-256: `7c871342e51f5a66a773fe427d72944b5d2cc8ff41c5b7415ab38dbfc9ac6d58`
|
| 28 |
+
- original checkpoint member: `tutorial_data/fitted_model.ckpt`
|
| 29 |
+
- original checkpoint size: `327952642` bytes
|
| 30 |
+
- original checkpoint SHA-256: `5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76`
|
| 31 |
+
|
| 32 |
+
DeepDeWedge Tutorial Data is attributed to Simon Wiedemann and is distributed
|
| 33 |
+
under CC BY 4.0. The pinned DeepDeWedge implementation is BSD-2-Clause; its
|
| 34 |
+
license text is included below `LICENSES/`. See `ATTRIBUTION.md`.
|
| 35 |
+
|
| 36 |
+
## Scientific inference semantics
|
| 37 |
+
|
| 38 |
+
The pure persisted Network owns only the lowered U-Net architecture and its 54
|
| 39 |
+
canonical tensors. The fitted affine values remain outside Network state in the
|
| 40 |
+
typed `deepdewedge_inference` profile:
|
| 41 |
+
|
| 42 |
+
- `network_affine_loc`: `-0.14898751676082611`
|
| 43 |
+
- `network_affine_scale`: `1.3237642049789429`
|
| 44 |
+
- input layout: `(..., Z, Y, X)`; Network layout: `(..., C, Z, Y, X)`
|
| 45 |
+
- paired halves are refined independently then averaged; full-width missing wedge: 50 degrees
|
| 46 |
+
- 96³ patches, 32³ overlap, trailing-reflection coverage, linear-ramp reassembly
|
| 47 |
+
- preconditioning recomputes patch statistics; output uses the checkpoint-fitted affine
|
| 48 |
+
|
| 49 |
+
## Fresh conversion and validation
|
| 50 |
+
|
| 51 |
+
`refresh_format2.py` is the exact one-off implementation and records
|
| 52 |
+
the verified source, explicit 54-tensor mapping, strict Network lowering, and
|
| 53 |
+
generic export. It was run with Python `3.12.13`, Torch
|
| 54 |
+
`2.12.1+cpu`, Lightning `2.6.5`, Safetensors
|
| 55 |
+
`0.8.0`, and Scitomo `0.7.3.dev0` on `Windows-11-10.0.22631-SP0`.
|
| 56 |
+
|
| 57 |
+
The generic exporter freshly serializes `weights.safetensors`; no previous
|
| 58 |
+
Hugging Face Safetensors, manifest, construction, or inference record is read.
|
| 59 |
+
The conversion record lists every source checkpoint tensor to canonical target
|
| 60 |
+
mapping. The validation record binds package state closure, generic loader
|
| 61 |
+
reload, external-affine semantics, and deterministic forward parity.
|
| 62 |
+
|
| 63 |
+
For a deterministic directional, non-symmetric CPU float32 input of 4,096 elements,
|
| 64 |
+
authoritative upstream output versus FORMAT 2 pure-Network-plus-profile output
|
| 65 |
+
passed `rtol=1e-5`, `atol=1e-6`: maximum absolute error
|
| 66 |
+
`0`, relative L2 error `0`.
|
| 67 |
+
|
| 68 |
+
## Files and closure
|
| 69 |
+
|
| 70 |
+
`manifest.json` is the authoritative, closed inventory of every package file,
|
| 71 |
+
with each fresh size and SHA-256. It declares only FORMAT 2 construction,
|
| 72 |
+
inference, Safetensors, conversion, validation, and documentation/license
|
| 73 |
+
resources; there is no format-1 or migration artifact. Validate and load with:
|
| 74 |
+
|
| 75 |
+
```python
|
| 76 |
+
import scitomo as st
|
| 77 |
+
loaded = st.api.load_learned_network("/path/to/package")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
```
|
| 79 |
|
| 80 |
+
This operation uses the generic Scitomo FORMAT 2 loader and does not import
|
| 81 |
+
Lightning or DeepDeWedge. It is a checkpoint package, not a claim of scientific
|
| 82 |
+
approval for a new dataset or acquisition protocol.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
construction.json
CHANGED
|
@@ -1,92 +1,1726 @@
|
|
| 1 |
{
|
| 2 |
-
"fingerprint": "sha256:
|
| 3 |
"kind": "scitomo_network_construction",
|
| 4 |
-
"
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
"inplace": true,
|
| 10 |
"kind": "leaky_relu",
|
| 11 |
-
"negative_slope": 0.05
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
},
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
"
|
|
|
|
| 18 |
},
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
| 25 |
"inplace": true,
|
| 26 |
"kind": "leaky_relu",
|
| 27 |
-
"negative_slope": 0.05
|
|
|
|
|
|
|
|
|
|
| 28 |
},
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
"
|
| 34 |
-
"
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
},
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
"inplace": true,
|
| 44 |
"kind": "leaky_relu",
|
| 45 |
-
"negative_slope": 0.05
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
},
|
| 47 |
-
|
| 48 |
-
"kind": "strided_convolution",
|
| 49 |
-
"padding": 1,
|
| 50 |
-
"stride": 2
|
| 51 |
-
},
|
| 52 |
-
"encoder_block": {
|
| 53 |
-
"activate_last": true,
|
| 54 |
-
"activation": {
|
| 55 |
"inplace": true,
|
| 56 |
"kind": "leaky_relu",
|
| 57 |
-
"negative_slope": 0.05
|
|
|
|
|
|
|
|
|
|
| 58 |
},
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
"
|
| 64 |
-
"
|
| 65 |
-
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
},
|
| 68 |
-
|
| 69 |
-
"repetitions": 3
|
| 70 |
-
},
|
| 71 |
-
"in_channels": 1,
|
| 72 |
-
"initial_channels": 64,
|
| 73 |
-
"initial_normalization_loc": -0.1489875167608261,
|
| 74 |
-
"initial_normalization_scale": 1.3237642049789429,
|
| 75 |
-
"kind": "unet_3d",
|
| 76 |
-
"num_downsampling_blocks": 3,
|
| 77 |
-
"out_channels": 1,
|
| 78 |
-
"residual": true,
|
| 79 |
-
"upsampling": {
|
| 80 |
-
"kernel_size": 3,
|
| 81 |
-
"kind": "transposed_convolution",
|
| 82 |
-
"output_padding": 1,
|
| 83 |
-
"padding": 1,
|
| 84 |
-
"post_concat_activation": {
|
| 85 |
"inplace": true,
|
| 86 |
"kind": "leaky_relu",
|
| 87 |
-
"negative_slope": 0.05
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
},
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"fingerprint": "sha256:644b162de70d014f9273c992fd583ee4fdfb8ae425a35fba26b3fbd41d560f28",
|
| 3 |
"kind": "scitomo_network_construction",
|
| 4 |
+
"program": {
|
| 5 |
+
"inputs": [
|
| 6 |
+
{
|
| 7 |
+
"channels": 1,
|
| 8 |
+
"leading_dimensions": "flatten_to_batch",
|
| 9 |
+
"minimum_spatial_shape": [
|
| 10 |
+
8,
|
| 11 |
+
8,
|
| 12 |
+
8
|
| 13 |
+
],
|
| 14 |
+
"name": "input",
|
| 15 |
+
"spatial_divisibility": [
|
| 16 |
+
8,
|
| 17 |
+
8,
|
| 18 |
+
8
|
| 19 |
+
],
|
| 20 |
+
"spatial_rank": 3
|
| 21 |
+
}
|
| 22 |
+
],
|
| 23 |
+
"kind": "scitomo_network_program",
|
| 24 |
+
"modules": [
|
| 25 |
+
{
|
| 26 |
+
"bias": true,
|
| 27 |
+
"dilation": [
|
| 28 |
+
1,
|
| 29 |
+
1,
|
| 30 |
+
1
|
| 31 |
+
],
|
| 32 |
+
"groups": 1,
|
| 33 |
+
"id": "down_0_conv_0",
|
| 34 |
+
"in_channels": 1,
|
| 35 |
+
"kernel_size": [
|
| 36 |
+
3,
|
| 37 |
+
3,
|
| 38 |
+
3
|
| 39 |
+
],
|
| 40 |
+
"kind": "conv3d",
|
| 41 |
+
"out_channels": 64,
|
| 42 |
+
"padding": [
|
| 43 |
+
1,
|
| 44 |
+
1,
|
| 45 |
+
1
|
| 46 |
+
],
|
| 47 |
+
"padding_mode": "zeros",
|
| 48 |
+
"primitive_version": 1,
|
| 49 |
+
"stride": [
|
| 50 |
+
1,
|
| 51 |
+
1,
|
| 52 |
+
1
|
| 53 |
+
]
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"affine": false,
|
| 57 |
+
"channels": 64,
|
| 58 |
+
"eps": 1e-05,
|
| 59 |
+
"id": "down_0_norm_0",
|
| 60 |
+
"kind": "instance_norm3d",
|
| 61 |
+
"primitive_version": 1,
|
| 62 |
+
"track_running_stats": false
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"bias": true,
|
| 66 |
+
"dilation": [
|
| 67 |
+
1,
|
| 68 |
+
1,
|
| 69 |
+
1
|
| 70 |
+
],
|
| 71 |
+
"groups": 1,
|
| 72 |
+
"id": "down_0_conv_1",
|
| 73 |
+
"in_channels": 64,
|
| 74 |
+
"kernel_size": [
|
| 75 |
+
3,
|
| 76 |
+
3,
|
| 77 |
+
3
|
| 78 |
+
],
|
| 79 |
+
"kind": "conv3d",
|
| 80 |
+
"out_channels": 64,
|
| 81 |
+
"padding": [
|
| 82 |
+
1,
|
| 83 |
+
1,
|
| 84 |
+
1
|
| 85 |
+
],
|
| 86 |
+
"padding_mode": "zeros",
|
| 87 |
+
"primitive_version": 1,
|
| 88 |
+
"stride": [
|
| 89 |
+
1,
|
| 90 |
+
1,
|
| 91 |
+
1
|
| 92 |
+
]
|
| 93 |
+
},
|
| 94 |
+
{
|
| 95 |
+
"affine": false,
|
| 96 |
+
"channels": 64,
|
| 97 |
+
"eps": 1e-05,
|
| 98 |
+
"id": "down_0_norm_1",
|
| 99 |
+
"kind": "instance_norm3d",
|
| 100 |
+
"primitive_version": 1,
|
| 101 |
+
"track_running_stats": false
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"bias": true,
|
| 105 |
+
"dilation": [
|
| 106 |
+
1,
|
| 107 |
+
1,
|
| 108 |
+
1
|
| 109 |
+
],
|
| 110 |
+
"groups": 1,
|
| 111 |
+
"id": "down_0_conv_2",
|
| 112 |
+
"in_channels": 64,
|
| 113 |
+
"kernel_size": [
|
| 114 |
+
3,
|
| 115 |
+
3,
|
| 116 |
+
3
|
| 117 |
+
],
|
| 118 |
+
"kind": "conv3d",
|
| 119 |
+
"out_channels": 64,
|
| 120 |
+
"padding": [
|
| 121 |
+
1,
|
| 122 |
+
1,
|
| 123 |
+
1
|
| 124 |
+
],
|
| 125 |
+
"padding_mode": "zeros",
|
| 126 |
+
"primitive_version": 1,
|
| 127 |
+
"stride": [
|
| 128 |
+
1,
|
| 129 |
+
1,
|
| 130 |
+
1
|
| 131 |
+
]
|
| 132 |
+
},
|
| 133 |
+
{
|
| 134 |
+
"affine": false,
|
| 135 |
+
"channels": 64,
|
| 136 |
+
"eps": 1e-05,
|
| 137 |
+
"id": "down_0_norm_2",
|
| 138 |
+
"kind": "instance_norm3d",
|
| 139 |
+
"primitive_version": 1,
|
| 140 |
+
"track_running_stats": false
|
| 141 |
+
},
|
| 142 |
+
{
|
| 143 |
+
"bias": true,
|
| 144 |
+
"dilation": [
|
| 145 |
+
1,
|
| 146 |
+
1,
|
| 147 |
+
1
|
| 148 |
+
],
|
| 149 |
+
"groups": 1,
|
| 150 |
+
"id": "downsample_0",
|
| 151 |
+
"in_channels": 64,
|
| 152 |
+
"kernel_size": [
|
| 153 |
+
3,
|
| 154 |
+
3,
|
| 155 |
+
3
|
| 156 |
+
],
|
| 157 |
+
"kind": "conv3d",
|
| 158 |
+
"out_channels": 64,
|
| 159 |
+
"padding": [
|
| 160 |
+
1,
|
| 161 |
+
1,
|
| 162 |
+
1
|
| 163 |
+
],
|
| 164 |
+
"padding_mode": "zeros",
|
| 165 |
+
"primitive_version": 1,
|
| 166 |
+
"stride": [
|
| 167 |
+
2,
|
| 168 |
+
2,
|
| 169 |
+
2
|
| 170 |
+
]
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"bias": true,
|
| 174 |
+
"dilation": [
|
| 175 |
+
1,
|
| 176 |
+
1,
|
| 177 |
+
1
|
| 178 |
+
],
|
| 179 |
+
"groups": 1,
|
| 180 |
+
"id": "down_1_conv_0",
|
| 181 |
+
"in_channels": 64,
|
| 182 |
+
"kernel_size": [
|
| 183 |
+
3,
|
| 184 |
+
3,
|
| 185 |
+
3
|
| 186 |
+
],
|
| 187 |
+
"kind": "conv3d",
|
| 188 |
+
"out_channels": 128,
|
| 189 |
+
"padding": [
|
| 190 |
+
1,
|
| 191 |
+
1,
|
| 192 |
+
1
|
| 193 |
+
],
|
| 194 |
+
"padding_mode": "zeros",
|
| 195 |
+
"primitive_version": 1,
|
| 196 |
+
"stride": [
|
| 197 |
+
1,
|
| 198 |
+
1,
|
| 199 |
+
1
|
| 200 |
+
]
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"affine": false,
|
| 204 |
+
"channels": 128,
|
| 205 |
+
"eps": 1e-05,
|
| 206 |
+
"id": "down_1_norm_0",
|
| 207 |
+
"kind": "instance_norm3d",
|
| 208 |
+
"primitive_version": 1,
|
| 209 |
+
"track_running_stats": false
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"bias": true,
|
| 213 |
+
"dilation": [
|
| 214 |
+
1,
|
| 215 |
+
1,
|
| 216 |
+
1
|
| 217 |
+
],
|
| 218 |
+
"groups": 1,
|
| 219 |
+
"id": "down_1_conv_1",
|
| 220 |
+
"in_channels": 128,
|
| 221 |
+
"kernel_size": [
|
| 222 |
+
3,
|
| 223 |
+
3,
|
| 224 |
+
3
|
| 225 |
+
],
|
| 226 |
+
"kind": "conv3d",
|
| 227 |
+
"out_channels": 128,
|
| 228 |
+
"padding": [
|
| 229 |
+
1,
|
| 230 |
+
1,
|
| 231 |
+
1
|
| 232 |
+
],
|
| 233 |
+
"padding_mode": "zeros",
|
| 234 |
+
"primitive_version": 1,
|
| 235 |
+
"stride": [
|
| 236 |
+
1,
|
| 237 |
+
1,
|
| 238 |
+
1
|
| 239 |
+
]
|
| 240 |
+
},
|
| 241 |
+
{
|
| 242 |
+
"affine": false,
|
| 243 |
+
"channels": 128,
|
| 244 |
+
"eps": 1e-05,
|
| 245 |
+
"id": "down_1_norm_1",
|
| 246 |
+
"kind": "instance_norm3d",
|
| 247 |
+
"primitive_version": 1,
|
| 248 |
+
"track_running_stats": false
|
| 249 |
+
},
|
| 250 |
+
{
|
| 251 |
+
"bias": true,
|
| 252 |
+
"dilation": [
|
| 253 |
+
1,
|
| 254 |
+
1,
|
| 255 |
+
1
|
| 256 |
+
],
|
| 257 |
+
"groups": 1,
|
| 258 |
+
"id": "down_1_conv_2",
|
| 259 |
+
"in_channels": 128,
|
| 260 |
+
"kernel_size": [
|
| 261 |
+
3,
|
| 262 |
+
3,
|
| 263 |
+
3
|
| 264 |
+
],
|
| 265 |
+
"kind": "conv3d",
|
| 266 |
+
"out_channels": 128,
|
| 267 |
+
"padding": [
|
| 268 |
+
1,
|
| 269 |
+
1,
|
| 270 |
+
1
|
| 271 |
+
],
|
| 272 |
+
"padding_mode": "zeros",
|
| 273 |
+
"primitive_version": 1,
|
| 274 |
+
"stride": [
|
| 275 |
+
1,
|
| 276 |
+
1,
|
| 277 |
+
1
|
| 278 |
+
]
|
| 279 |
+
},
|
| 280 |
+
{
|
| 281 |
+
"affine": false,
|
| 282 |
+
"channels": 128,
|
| 283 |
+
"eps": 1e-05,
|
| 284 |
+
"id": "down_1_norm_2",
|
| 285 |
+
"kind": "instance_norm3d",
|
| 286 |
+
"primitive_version": 1,
|
| 287 |
+
"track_running_stats": false
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"bias": true,
|
| 291 |
+
"dilation": [
|
| 292 |
+
1,
|
| 293 |
+
1,
|
| 294 |
+
1
|
| 295 |
+
],
|
| 296 |
+
"groups": 1,
|
| 297 |
+
"id": "downsample_1",
|
| 298 |
+
"in_channels": 128,
|
| 299 |
+
"kernel_size": [
|
| 300 |
+
3,
|
| 301 |
+
3,
|
| 302 |
+
3
|
| 303 |
+
],
|
| 304 |
+
"kind": "conv3d",
|
| 305 |
+
"out_channels": 128,
|
| 306 |
+
"padding": [
|
| 307 |
+
1,
|
| 308 |
+
1,
|
| 309 |
+
1
|
| 310 |
+
],
|
| 311 |
+
"padding_mode": "zeros",
|
| 312 |
+
"primitive_version": 1,
|
| 313 |
+
"stride": [
|
| 314 |
+
2,
|
| 315 |
+
2,
|
| 316 |
+
2
|
| 317 |
+
]
|
| 318 |
+
},
|
| 319 |
+
{
|
| 320 |
+
"bias": true,
|
| 321 |
+
"dilation": [
|
| 322 |
+
1,
|
| 323 |
+
1,
|
| 324 |
+
1
|
| 325 |
+
],
|
| 326 |
+
"groups": 1,
|
| 327 |
+
"id": "down_2_conv_0",
|
| 328 |
+
"in_channels": 128,
|
| 329 |
+
"kernel_size": [
|
| 330 |
+
3,
|
| 331 |
+
3,
|
| 332 |
+
3
|
| 333 |
+
],
|
| 334 |
+
"kind": "conv3d",
|
| 335 |
+
"out_channels": 256,
|
| 336 |
+
"padding": [
|
| 337 |
+
1,
|
| 338 |
+
1,
|
| 339 |
+
1
|
| 340 |
+
],
|
| 341 |
+
"padding_mode": "zeros",
|
| 342 |
+
"primitive_version": 1,
|
| 343 |
+
"stride": [
|
| 344 |
+
1,
|
| 345 |
+
1,
|
| 346 |
+
1
|
| 347 |
+
]
|
| 348 |
+
},
|
| 349 |
+
{
|
| 350 |
+
"affine": false,
|
| 351 |
+
"channels": 256,
|
| 352 |
+
"eps": 1e-05,
|
| 353 |
+
"id": "down_2_norm_0",
|
| 354 |
+
"kind": "instance_norm3d",
|
| 355 |
+
"primitive_version": 1,
|
| 356 |
+
"track_running_stats": false
|
| 357 |
+
},
|
| 358 |
+
{
|
| 359 |
+
"bias": true,
|
| 360 |
+
"dilation": [
|
| 361 |
+
1,
|
| 362 |
+
1,
|
| 363 |
+
1
|
| 364 |
+
],
|
| 365 |
+
"groups": 1,
|
| 366 |
+
"id": "down_2_conv_1",
|
| 367 |
+
"in_channels": 256,
|
| 368 |
+
"kernel_size": [
|
| 369 |
+
3,
|
| 370 |
+
3,
|
| 371 |
+
3
|
| 372 |
+
],
|
| 373 |
+
"kind": "conv3d",
|
| 374 |
+
"out_channels": 256,
|
| 375 |
+
"padding": [
|
| 376 |
+
1,
|
| 377 |
+
1,
|
| 378 |
+
1
|
| 379 |
+
],
|
| 380 |
+
"padding_mode": "zeros",
|
| 381 |
+
"primitive_version": 1,
|
| 382 |
+
"stride": [
|
| 383 |
+
1,
|
| 384 |
+
1,
|
| 385 |
+
1
|
| 386 |
+
]
|
| 387 |
+
},
|
| 388 |
+
{
|
| 389 |
+
"affine": false,
|
| 390 |
+
"channels": 256,
|
| 391 |
+
"eps": 1e-05,
|
| 392 |
+
"id": "down_2_norm_1",
|
| 393 |
+
"kind": "instance_norm3d",
|
| 394 |
+
"primitive_version": 1,
|
| 395 |
+
"track_running_stats": false
|
| 396 |
+
},
|
| 397 |
+
{
|
| 398 |
+
"bias": true,
|
| 399 |
+
"dilation": [
|
| 400 |
+
1,
|
| 401 |
+
1,
|
| 402 |
+
1
|
| 403 |
+
],
|
| 404 |
+
"groups": 1,
|
| 405 |
+
"id": "down_2_conv_2",
|
| 406 |
+
"in_channels": 256,
|
| 407 |
+
"kernel_size": [
|
| 408 |
+
3,
|
| 409 |
+
3,
|
| 410 |
+
3
|
| 411 |
+
],
|
| 412 |
+
"kind": "conv3d",
|
| 413 |
+
"out_channels": 256,
|
| 414 |
+
"padding": [
|
| 415 |
+
1,
|
| 416 |
+
1,
|
| 417 |
+
1
|
| 418 |
+
],
|
| 419 |
+
"padding_mode": "zeros",
|
| 420 |
+
"primitive_version": 1,
|
| 421 |
+
"stride": [
|
| 422 |
+
1,
|
| 423 |
+
1,
|
| 424 |
+
1
|
| 425 |
+
]
|
| 426 |
+
},
|
| 427 |
+
{
|
| 428 |
+
"affine": false,
|
| 429 |
+
"channels": 256,
|
| 430 |
+
"eps": 1e-05,
|
| 431 |
+
"id": "down_2_norm_2",
|
| 432 |
+
"kind": "instance_norm3d",
|
| 433 |
+
"primitive_version": 1,
|
| 434 |
+
"track_running_stats": false
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"bias": true,
|
| 438 |
+
"dilation": [
|
| 439 |
+
1,
|
| 440 |
+
1,
|
| 441 |
+
1
|
| 442 |
+
],
|
| 443 |
+
"groups": 1,
|
| 444 |
+
"id": "downsample_2",
|
| 445 |
+
"in_channels": 256,
|
| 446 |
+
"kernel_size": [
|
| 447 |
+
3,
|
| 448 |
+
3,
|
| 449 |
+
3
|
| 450 |
+
],
|
| 451 |
+
"kind": "conv3d",
|
| 452 |
+
"out_channels": 256,
|
| 453 |
+
"padding": [
|
| 454 |
+
1,
|
| 455 |
+
1,
|
| 456 |
+
1
|
| 457 |
+
],
|
| 458 |
+
"padding_mode": "zeros",
|
| 459 |
+
"primitive_version": 1,
|
| 460 |
+
"stride": [
|
| 461 |
+
2,
|
| 462 |
+
2,
|
| 463 |
+
2
|
| 464 |
+
]
|
| 465 |
+
},
|
| 466 |
+
{
|
| 467 |
+
"bias": true,
|
| 468 |
+
"dilation": [
|
| 469 |
+
1,
|
| 470 |
+
1,
|
| 471 |
+
1
|
| 472 |
+
],
|
| 473 |
+
"groups": 1,
|
| 474 |
+
"id": "bottleneck_conv_0",
|
| 475 |
+
"in_channels": 256,
|
| 476 |
+
"kernel_size": [
|
| 477 |
+
3,
|
| 478 |
+
3,
|
| 479 |
+
3
|
| 480 |
+
],
|
| 481 |
+
"kind": "conv3d",
|
| 482 |
+
"out_channels": 512,
|
| 483 |
+
"padding": [
|
| 484 |
+
1,
|
| 485 |
+
1,
|
| 486 |
+
1
|
| 487 |
+
],
|
| 488 |
+
"padding_mode": "zeros",
|
| 489 |
+
"primitive_version": 1,
|
| 490 |
+
"stride": [
|
| 491 |
+
1,
|
| 492 |
+
1,
|
| 493 |
+
1
|
| 494 |
+
]
|
| 495 |
+
},
|
| 496 |
+
{
|
| 497 |
+
"bias": true,
|
| 498 |
+
"dilation": [
|
| 499 |
+
1,
|
| 500 |
+
1,
|
| 501 |
+
1
|
| 502 |
+
],
|
| 503 |
+
"groups": 1,
|
| 504 |
+
"id": "bottleneck_conv_1",
|
| 505 |
+
"in_channels": 512,
|
| 506 |
+
"kernel_size": [
|
| 507 |
+
3,
|
| 508 |
+
3,
|
| 509 |
+
3
|
| 510 |
+
],
|
| 511 |
+
"kind": "conv3d",
|
| 512 |
+
"out_channels": 256,
|
| 513 |
+
"padding": [
|
| 514 |
+
1,
|
| 515 |
+
1,
|
| 516 |
+
1
|
| 517 |
+
],
|
| 518 |
+
"padding_mode": "zeros",
|
| 519 |
+
"primitive_version": 1,
|
| 520 |
+
"stride": [
|
| 521 |
+
1,
|
| 522 |
+
1,
|
| 523 |
+
1
|
| 524 |
+
]
|
| 525 |
+
},
|
| 526 |
+
{
|
| 527 |
+
"bias": true,
|
| 528 |
+
"dilation": [
|
| 529 |
+
1,
|
| 530 |
+
1,
|
| 531 |
+
1
|
| 532 |
+
],
|
| 533 |
+
"groups": 1,
|
| 534 |
+
"id": "upsample_0",
|
| 535 |
+
"in_channels": 256,
|
| 536 |
+
"kernel_size": [
|
| 537 |
+
3,
|
| 538 |
+
3,
|
| 539 |
+
3
|
| 540 |
+
],
|
| 541 |
+
"kind": "conv_transpose3d",
|
| 542 |
+
"out_channels": 256,
|
| 543 |
+
"output_padding": [
|
| 544 |
+
1,
|
| 545 |
+
1,
|
| 546 |
+
1
|
| 547 |
+
],
|
| 548 |
+
"padding": [
|
| 549 |
+
1,
|
| 550 |
+
1,
|
| 551 |
+
1
|
| 552 |
+
],
|
| 553 |
+
"primitive_version": 1,
|
| 554 |
+
"stride": [
|
| 555 |
+
2,
|
| 556 |
+
2,
|
| 557 |
+
2
|
| 558 |
+
]
|
| 559 |
+
},
|
| 560 |
+
{
|
| 561 |
+
"bias": true,
|
| 562 |
+
"dilation": [
|
| 563 |
+
1,
|
| 564 |
+
1,
|
| 565 |
+
1
|
| 566 |
+
],
|
| 567 |
+
"groups": 1,
|
| 568 |
+
"id": "up_0_conv_0",
|
| 569 |
+
"in_channels": 512,
|
| 570 |
+
"kernel_size": [
|
| 571 |
+
3,
|
| 572 |
+
3,
|
| 573 |
+
3
|
| 574 |
+
],
|
| 575 |
+
"kind": "conv3d",
|
| 576 |
+
"out_channels": 256,
|
| 577 |
+
"padding": [
|
| 578 |
+
1,
|
| 579 |
+
1,
|
| 580 |
+
1
|
| 581 |
+
],
|
| 582 |
+
"padding_mode": "zeros",
|
| 583 |
+
"primitive_version": 1,
|
| 584 |
+
"stride": [
|
| 585 |
+
1,
|
| 586 |
+
1,
|
| 587 |
+
1
|
| 588 |
+
]
|
| 589 |
+
},
|
| 590 |
+
{
|
| 591 |
+
"affine": false,
|
| 592 |
+
"channels": 256,
|
| 593 |
+
"eps": 1e-05,
|
| 594 |
+
"id": "up_0_norm_0",
|
| 595 |
+
"kind": "instance_norm3d",
|
| 596 |
+
"primitive_version": 1,
|
| 597 |
+
"track_running_stats": false
|
| 598 |
+
},
|
| 599 |
+
{
|
| 600 |
+
"bias": true,
|
| 601 |
+
"dilation": [
|
| 602 |
+
1,
|
| 603 |
+
1,
|
| 604 |
+
1
|
| 605 |
+
],
|
| 606 |
+
"groups": 1,
|
| 607 |
+
"id": "up_0_conv_1",
|
| 608 |
+
"in_channels": 256,
|
| 609 |
+
"kernel_size": [
|
| 610 |
+
3,
|
| 611 |
+
3,
|
| 612 |
+
3
|
| 613 |
+
],
|
| 614 |
+
"kind": "conv3d",
|
| 615 |
+
"out_channels": 256,
|
| 616 |
+
"padding": [
|
| 617 |
+
1,
|
| 618 |
+
1,
|
| 619 |
+
1
|
| 620 |
+
],
|
| 621 |
+
"padding_mode": "zeros",
|
| 622 |
+
"primitive_version": 1,
|
| 623 |
+
"stride": [
|
| 624 |
+
1,
|
| 625 |
+
1,
|
| 626 |
+
1
|
| 627 |
+
]
|
| 628 |
+
},
|
| 629 |
+
{
|
| 630 |
+
"affine": false,
|
| 631 |
+
"channels": 256,
|
| 632 |
+
"eps": 1e-05,
|
| 633 |
+
"id": "up_0_norm_1",
|
| 634 |
+
"kind": "instance_norm3d",
|
| 635 |
+
"primitive_version": 1,
|
| 636 |
+
"track_running_stats": false
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"bias": true,
|
| 640 |
+
"dilation": [
|
| 641 |
+
1,
|
| 642 |
+
1,
|
| 643 |
+
1
|
| 644 |
+
],
|
| 645 |
+
"groups": 1,
|
| 646 |
+
"id": "up_0_conv_2",
|
| 647 |
+
"in_channels": 256,
|
| 648 |
+
"kernel_size": [
|
| 649 |
+
3,
|
| 650 |
+
3,
|
| 651 |
+
3
|
| 652 |
+
],
|
| 653 |
+
"kind": "conv3d",
|
| 654 |
+
"out_channels": 256,
|
| 655 |
+
"padding": [
|
| 656 |
+
1,
|
| 657 |
+
1,
|
| 658 |
+
1
|
| 659 |
+
],
|
| 660 |
+
"padding_mode": "zeros",
|
| 661 |
+
"primitive_version": 1,
|
| 662 |
+
"stride": [
|
| 663 |
+
1,
|
| 664 |
+
1,
|
| 665 |
+
1
|
| 666 |
+
]
|
| 667 |
+
},
|
| 668 |
+
{
|
| 669 |
+
"affine": false,
|
| 670 |
+
"channels": 256,
|
| 671 |
+
"eps": 1e-05,
|
| 672 |
+
"id": "up_0_norm_2",
|
| 673 |
+
"kind": "instance_norm3d",
|
| 674 |
+
"primitive_version": 1,
|
| 675 |
+
"track_running_stats": false
|
| 676 |
+
},
|
| 677 |
+
{
|
| 678 |
+
"bias": true,
|
| 679 |
+
"dilation": [
|
| 680 |
+
1,
|
| 681 |
+
1,
|
| 682 |
+
1
|
| 683 |
+
],
|
| 684 |
+
"groups": 1,
|
| 685 |
+
"id": "upsample_1",
|
| 686 |
+
"in_channels": 256,
|
| 687 |
+
"kernel_size": [
|
| 688 |
+
3,
|
| 689 |
+
3,
|
| 690 |
+
3
|
| 691 |
+
],
|
| 692 |
+
"kind": "conv_transpose3d",
|
| 693 |
+
"out_channels": 128,
|
| 694 |
+
"output_padding": [
|
| 695 |
+
1,
|
| 696 |
+
1,
|
| 697 |
+
1
|
| 698 |
+
],
|
| 699 |
+
"padding": [
|
| 700 |
+
1,
|
| 701 |
+
1,
|
| 702 |
+
1
|
| 703 |
+
],
|
| 704 |
+
"primitive_version": 1,
|
| 705 |
+
"stride": [
|
| 706 |
+
2,
|
| 707 |
+
2,
|
| 708 |
+
2
|
| 709 |
+
]
|
| 710 |
+
},
|
| 711 |
+
{
|
| 712 |
+
"bias": true,
|
| 713 |
+
"dilation": [
|
| 714 |
+
1,
|
| 715 |
+
1,
|
| 716 |
+
1
|
| 717 |
+
],
|
| 718 |
+
"groups": 1,
|
| 719 |
+
"id": "up_1_conv_0",
|
| 720 |
+
"in_channels": 256,
|
| 721 |
+
"kernel_size": [
|
| 722 |
+
3,
|
| 723 |
+
3,
|
| 724 |
+
3
|
| 725 |
+
],
|
| 726 |
+
"kind": "conv3d",
|
| 727 |
+
"out_channels": 128,
|
| 728 |
+
"padding": [
|
| 729 |
+
1,
|
| 730 |
+
1,
|
| 731 |
+
1
|
| 732 |
+
],
|
| 733 |
+
"padding_mode": "zeros",
|
| 734 |
+
"primitive_version": 1,
|
| 735 |
+
"stride": [
|
| 736 |
+
1,
|
| 737 |
+
1,
|
| 738 |
+
1
|
| 739 |
+
]
|
| 740 |
+
},
|
| 741 |
+
{
|
| 742 |
+
"affine": false,
|
| 743 |
+
"channels": 128,
|
| 744 |
+
"eps": 1e-05,
|
| 745 |
+
"id": "up_1_norm_0",
|
| 746 |
+
"kind": "instance_norm3d",
|
| 747 |
+
"primitive_version": 1,
|
| 748 |
+
"track_running_stats": false
|
| 749 |
+
},
|
| 750 |
+
{
|
| 751 |
+
"bias": true,
|
| 752 |
+
"dilation": [
|
| 753 |
+
1,
|
| 754 |
+
1,
|
| 755 |
+
1
|
| 756 |
+
],
|
| 757 |
+
"groups": 1,
|
| 758 |
+
"id": "up_1_conv_1",
|
| 759 |
+
"in_channels": 128,
|
| 760 |
+
"kernel_size": [
|
| 761 |
+
3,
|
| 762 |
+
3,
|
| 763 |
+
3
|
| 764 |
+
],
|
| 765 |
+
"kind": "conv3d",
|
| 766 |
+
"out_channels": 128,
|
| 767 |
+
"padding": [
|
| 768 |
+
1,
|
| 769 |
+
1,
|
| 770 |
+
1
|
| 771 |
+
],
|
| 772 |
+
"padding_mode": "zeros",
|
| 773 |
+
"primitive_version": 1,
|
| 774 |
+
"stride": [
|
| 775 |
+
1,
|
| 776 |
+
1,
|
| 777 |
+
1
|
| 778 |
+
]
|
| 779 |
+
},
|
| 780 |
+
{
|
| 781 |
+
"affine": false,
|
| 782 |
+
"channels": 128,
|
| 783 |
+
"eps": 1e-05,
|
| 784 |
+
"id": "up_1_norm_1",
|
| 785 |
+
"kind": "instance_norm3d",
|
| 786 |
+
"primitive_version": 1,
|
| 787 |
+
"track_running_stats": false
|
| 788 |
+
},
|
| 789 |
+
{
|
| 790 |
+
"bias": true,
|
| 791 |
+
"dilation": [
|
| 792 |
+
1,
|
| 793 |
+
1,
|
| 794 |
+
1
|
| 795 |
+
],
|
| 796 |
+
"groups": 1,
|
| 797 |
+
"id": "up_1_conv_2",
|
| 798 |
+
"in_channels": 128,
|
| 799 |
+
"kernel_size": [
|
| 800 |
+
3,
|
| 801 |
+
3,
|
| 802 |
+
3
|
| 803 |
+
],
|
| 804 |
+
"kind": "conv3d",
|
| 805 |
+
"out_channels": 128,
|
| 806 |
+
"padding": [
|
| 807 |
+
1,
|
| 808 |
+
1,
|
| 809 |
+
1
|
| 810 |
+
],
|
| 811 |
+
"padding_mode": "zeros",
|
| 812 |
+
"primitive_version": 1,
|
| 813 |
+
"stride": [
|
| 814 |
+
1,
|
| 815 |
+
1,
|
| 816 |
+
1
|
| 817 |
+
]
|
| 818 |
+
},
|
| 819 |
+
{
|
| 820 |
+
"affine": false,
|
| 821 |
+
"channels": 128,
|
| 822 |
+
"eps": 1e-05,
|
| 823 |
+
"id": "up_1_norm_2",
|
| 824 |
+
"kind": "instance_norm3d",
|
| 825 |
+
"primitive_version": 1,
|
| 826 |
+
"track_running_stats": false
|
| 827 |
+
},
|
| 828 |
+
{
|
| 829 |
+
"bias": true,
|
| 830 |
+
"dilation": [
|
| 831 |
+
1,
|
| 832 |
+
1,
|
| 833 |
+
1
|
| 834 |
+
],
|
| 835 |
+
"groups": 1,
|
| 836 |
+
"id": "upsample_2",
|
| 837 |
+
"in_channels": 128,
|
| 838 |
+
"kernel_size": [
|
| 839 |
+
3,
|
| 840 |
+
3,
|
| 841 |
+
3
|
| 842 |
+
],
|
| 843 |
+
"kind": "conv_transpose3d",
|
| 844 |
+
"out_channels": 64,
|
| 845 |
+
"output_padding": [
|
| 846 |
+
1,
|
| 847 |
+
1,
|
| 848 |
+
1
|
| 849 |
+
],
|
| 850 |
+
"padding": [
|
| 851 |
+
1,
|
| 852 |
+
1,
|
| 853 |
+
1
|
| 854 |
+
],
|
| 855 |
+
"primitive_version": 1,
|
| 856 |
+
"stride": [
|
| 857 |
+
2,
|
| 858 |
+
2,
|
| 859 |
+
2
|
| 860 |
+
]
|
| 861 |
+
},
|
| 862 |
+
{
|
| 863 |
+
"bias": true,
|
| 864 |
+
"dilation": [
|
| 865 |
+
1,
|
| 866 |
+
1,
|
| 867 |
+
1
|
| 868 |
+
],
|
| 869 |
+
"groups": 1,
|
| 870 |
+
"id": "up_2_conv_0",
|
| 871 |
+
"in_channels": 128,
|
| 872 |
+
"kernel_size": [
|
| 873 |
+
3,
|
| 874 |
+
3,
|
| 875 |
+
3
|
| 876 |
+
],
|
| 877 |
+
"kind": "conv3d",
|
| 878 |
+
"out_channels": 64,
|
| 879 |
+
"padding": [
|
| 880 |
+
1,
|
| 881 |
+
1,
|
| 882 |
+
1
|
| 883 |
+
],
|
| 884 |
+
"padding_mode": "zeros",
|
| 885 |
+
"primitive_version": 1,
|
| 886 |
+
"stride": [
|
| 887 |
+
1,
|
| 888 |
+
1,
|
| 889 |
+
1
|
| 890 |
+
]
|
| 891 |
+
},
|
| 892 |
+
{
|
| 893 |
+
"affine": false,
|
| 894 |
+
"channels": 64,
|
| 895 |
+
"eps": 1e-05,
|
| 896 |
+
"id": "up_2_norm_0",
|
| 897 |
+
"kind": "instance_norm3d",
|
| 898 |
+
"primitive_version": 1,
|
| 899 |
+
"track_running_stats": false
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"bias": true,
|
| 903 |
+
"dilation": [
|
| 904 |
+
1,
|
| 905 |
+
1,
|
| 906 |
+
1
|
| 907 |
+
],
|
| 908 |
+
"groups": 1,
|
| 909 |
+
"id": "up_2_conv_1",
|
| 910 |
+
"in_channels": 64,
|
| 911 |
+
"kernel_size": [
|
| 912 |
+
3,
|
| 913 |
+
3,
|
| 914 |
+
3
|
| 915 |
+
],
|
| 916 |
+
"kind": "conv3d",
|
| 917 |
+
"out_channels": 64,
|
| 918 |
+
"padding": [
|
| 919 |
+
1,
|
| 920 |
+
1,
|
| 921 |
+
1
|
| 922 |
+
],
|
| 923 |
+
"padding_mode": "zeros",
|
| 924 |
+
"primitive_version": 1,
|
| 925 |
+
"stride": [
|
| 926 |
+
1,
|
| 927 |
+
1,
|
| 928 |
+
1
|
| 929 |
+
]
|
| 930 |
+
},
|
| 931 |
+
{
|
| 932 |
+
"affine": false,
|
| 933 |
+
"channels": 64,
|
| 934 |
+
"eps": 1e-05,
|
| 935 |
+
"id": "up_2_norm_1",
|
| 936 |
+
"kind": "instance_norm3d",
|
| 937 |
+
"primitive_version": 1,
|
| 938 |
+
"track_running_stats": false
|
| 939 |
+
},
|
| 940 |
+
{
|
| 941 |
+
"bias": true,
|
| 942 |
+
"dilation": [
|
| 943 |
+
1,
|
| 944 |
+
1,
|
| 945 |
+
1
|
| 946 |
+
],
|
| 947 |
+
"groups": 1,
|
| 948 |
+
"id": "up_2_conv_2",
|
| 949 |
+
"in_channels": 64,
|
| 950 |
+
"kernel_size": [
|
| 951 |
+
3,
|
| 952 |
+
3,
|
| 953 |
+
3
|
| 954 |
+
],
|
| 955 |
+
"kind": "conv3d",
|
| 956 |
+
"out_channels": 64,
|
| 957 |
+
"padding": [
|
| 958 |
+
1,
|
| 959 |
+
1,
|
| 960 |
+
1
|
| 961 |
+
],
|
| 962 |
+
"padding_mode": "zeros",
|
| 963 |
+
"primitive_version": 1,
|
| 964 |
+
"stride": [
|
| 965 |
+
1,
|
| 966 |
+
1,
|
| 967 |
+
1
|
| 968 |
+
]
|
| 969 |
+
},
|
| 970 |
+
{
|
| 971 |
+
"affine": false,
|
| 972 |
+
"channels": 64,
|
| 973 |
+
"eps": 1e-05,
|
| 974 |
+
"id": "up_2_norm_2",
|
| 975 |
+
"kind": "instance_norm3d",
|
| 976 |
+
"primitive_version": 1,
|
| 977 |
+
"track_running_stats": false
|
| 978 |
+
},
|
| 979 |
+
{
|
| 980 |
+
"bias": true,
|
| 981 |
+
"dilation": [
|
| 982 |
+
1,
|
| 983 |
+
1,
|
| 984 |
+
1
|
| 985 |
+
],
|
| 986 |
+
"groups": 1,
|
| 987 |
+
"id": "final_conv",
|
| 988 |
+
"in_channels": 64,
|
| 989 |
+
"kernel_size": [
|
| 990 |
+
1,
|
| 991 |
+
1,
|
| 992 |
+
1
|
| 993 |
+
],
|
| 994 |
+
"kind": "conv3d",
|
| 995 |
+
"out_channels": 1,
|
| 996 |
+
"padding": [
|
| 997 |
+
0,
|
| 998 |
+
0,
|
| 999 |
+
0
|
| 1000 |
+
],
|
| 1001 |
+
"padding_mode": "zeros",
|
| 1002 |
+
"primitive_version": 1,
|
| 1003 |
+
"stride": [
|
| 1004 |
+
1,
|
| 1005 |
+
1,
|
| 1006 |
+
1
|
| 1007 |
+
]
|
| 1008 |
+
}
|
| 1009 |
+
],
|
| 1010 |
+
"operations": [
|
| 1011 |
+
{
|
| 1012 |
+
"kind": "call_module",
|
| 1013 |
+
"module": "down_0_conv_0",
|
| 1014 |
+
"output": "down_0_conv_0_out",
|
| 1015 |
+
"primitive_version": 1,
|
| 1016 |
+
"value": "input"
|
| 1017 |
+
},
|
| 1018 |
+
{
|
| 1019 |
+
"kind": "call_module",
|
| 1020 |
+
"module": "down_0_norm_0",
|
| 1021 |
+
"output": "down_0_norm_0_out",
|
| 1022 |
+
"primitive_version": 1,
|
| 1023 |
+
"value": "down_0_conv_0_out"
|
| 1024 |
+
},
|
| 1025 |
+
{
|
| 1026 |
+
"inplace": false,
|
| 1027 |
+
"kind": "dropout3d",
|
| 1028 |
+
"output": "down_0_dropout_0_out",
|
| 1029 |
+
"primitive_version": 1,
|
| 1030 |
+
"probability": 0.0,
|
| 1031 |
+
"value": "down_0_norm_0_out"
|
| 1032 |
+
},
|
| 1033 |
+
{
|
| 1034 |
"inplace": true,
|
| 1035 |
"kind": "leaky_relu",
|
| 1036 |
+
"negative_slope": 0.05,
|
| 1037 |
+
"output": "down_0_activation_0_out",
|
| 1038 |
+
"primitive_version": 1,
|
| 1039 |
+
"value": "down_0_dropout_0_out"
|
| 1040 |
+
},
|
| 1041 |
+
{
|
| 1042 |
+
"kind": "call_module",
|
| 1043 |
+
"module": "down_0_conv_1",
|
| 1044 |
+
"output": "down_0_conv_1_out",
|
| 1045 |
+
"primitive_version": 1,
|
| 1046 |
+
"value": "down_0_activation_0_out"
|
| 1047 |
},
|
| 1048 |
+
{
|
| 1049 |
+
"kind": "call_module",
|
| 1050 |
+
"module": "down_0_norm_1",
|
| 1051 |
+
"output": "down_0_norm_1_out",
|
| 1052 |
+
"primitive_version": 1,
|
| 1053 |
+
"value": "down_0_conv_1_out"
|
| 1054 |
},
|
| 1055 |
+
{
|
| 1056 |
+
"inplace": false,
|
| 1057 |
+
"kind": "dropout3d",
|
| 1058 |
+
"output": "down_0_dropout_1_out",
|
| 1059 |
+
"primitive_version": 1,
|
| 1060 |
+
"probability": 0.0,
|
| 1061 |
+
"value": "down_0_norm_1_out"
|
| 1062 |
+
},
|
| 1063 |
+
{
|
| 1064 |
"inplace": true,
|
| 1065 |
"kind": "leaky_relu",
|
| 1066 |
+
"negative_slope": 0.05,
|
| 1067 |
+
"output": "down_0_activation_1_out",
|
| 1068 |
+
"primitive_version": 1,
|
| 1069 |
+
"value": "down_0_dropout_1_out"
|
| 1070 |
},
|
| 1071 |
+
{
|
| 1072 |
+
"kind": "call_module",
|
| 1073 |
+
"module": "down_0_conv_2",
|
| 1074 |
+
"output": "down_0_conv_2_out",
|
| 1075 |
+
"primitive_version": 1,
|
| 1076 |
+
"value": "down_0_activation_1_out"
|
| 1077 |
+
},
|
| 1078 |
+
{
|
| 1079 |
+
"kind": "call_module",
|
| 1080 |
+
"module": "down_0_norm_2",
|
| 1081 |
+
"output": "down_0_norm_2_out",
|
| 1082 |
+
"primitive_version": 1,
|
| 1083 |
+
"value": "down_0_conv_2_out"
|
| 1084 |
},
|
| 1085 |
+
{
|
| 1086 |
+
"inplace": false,
|
| 1087 |
+
"kind": "dropout3d",
|
| 1088 |
+
"output": "down_0_dropout_2_out",
|
| 1089 |
+
"primitive_version": 1,
|
| 1090 |
+
"probability": 0.0,
|
| 1091 |
+
"value": "down_0_norm_2_out"
|
| 1092 |
+
},
|
| 1093 |
+
{
|
| 1094 |
"inplace": true,
|
| 1095 |
"kind": "leaky_relu",
|
| 1096 |
+
"negative_slope": 0.05,
|
| 1097 |
+
"output": "down_0_activation_2_out",
|
| 1098 |
+
"primitive_version": 1,
|
| 1099 |
+
"value": "down_0_dropout_2_out"
|
| 1100 |
+
},
|
| 1101 |
+
{
|
| 1102 |
+
"kind": "call_module",
|
| 1103 |
+
"module": "downsample_0",
|
| 1104 |
+
"output": "downsample_0_out",
|
| 1105 |
+
"primitive_version": 1,
|
| 1106 |
+
"value": "down_0_activation_2_out"
|
| 1107 |
},
|
| 1108 |
+
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1109 |
"inplace": true,
|
| 1110 |
"kind": "leaky_relu",
|
| 1111 |
+
"negative_slope": 0.05,
|
| 1112 |
+
"output": "downsample_0_activation_out",
|
| 1113 |
+
"primitive_version": 1,
|
| 1114 |
+
"value": "downsample_0_out"
|
| 1115 |
},
|
| 1116 |
+
{
|
| 1117 |
+
"kind": "call_module",
|
| 1118 |
+
"module": "down_1_conv_0",
|
| 1119 |
+
"output": "down_1_conv_0_out",
|
| 1120 |
+
"primitive_version": 1,
|
| 1121 |
+
"value": "downsample_0_activation_out"
|
| 1122 |
+
},
|
| 1123 |
+
{
|
| 1124 |
+
"kind": "call_module",
|
| 1125 |
+
"module": "down_1_norm_0",
|
| 1126 |
+
"output": "down_1_norm_0_out",
|
| 1127 |
+
"primitive_version": 1,
|
| 1128 |
+
"value": "down_1_conv_0_out"
|
| 1129 |
+
},
|
| 1130 |
+
{
|
| 1131 |
+
"inplace": false,
|
| 1132 |
+
"kind": "dropout3d",
|
| 1133 |
+
"output": "down_1_dropout_0_out",
|
| 1134 |
+
"primitive_version": 1,
|
| 1135 |
+
"probability": 0.0,
|
| 1136 |
+
"value": "down_1_norm_0_out"
|
| 1137 |
},
|
| 1138 |
+
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1139 |
"inplace": true,
|
| 1140 |
"kind": "leaky_relu",
|
| 1141 |
+
"negative_slope": 0.05,
|
| 1142 |
+
"output": "down_1_activation_0_out",
|
| 1143 |
+
"primitive_version": 1,
|
| 1144 |
+
"value": "down_1_dropout_0_out"
|
| 1145 |
+
},
|
| 1146 |
+
{
|
| 1147 |
+
"kind": "call_module",
|
| 1148 |
+
"module": "down_1_conv_1",
|
| 1149 |
+
"output": "down_1_conv_1_out",
|
| 1150 |
+
"primitive_version": 1,
|
| 1151 |
+
"value": "down_1_activation_0_out"
|
| 1152 |
+
},
|
| 1153 |
+
{
|
| 1154 |
+
"kind": "call_module",
|
| 1155 |
+
"module": "down_1_norm_1",
|
| 1156 |
+
"output": "down_1_norm_1_out",
|
| 1157 |
+
"primitive_version": 1,
|
| 1158 |
+
"value": "down_1_conv_1_out"
|
| 1159 |
+
},
|
| 1160 |
+
{
|
| 1161 |
+
"inplace": false,
|
| 1162 |
+
"kind": "dropout3d",
|
| 1163 |
+
"output": "down_1_dropout_1_out",
|
| 1164 |
+
"primitive_version": 1,
|
| 1165 |
+
"probability": 0.0,
|
| 1166 |
+
"value": "down_1_norm_1_out"
|
| 1167 |
+
},
|
| 1168 |
+
{
|
| 1169 |
+
"inplace": true,
|
| 1170 |
+
"kind": "leaky_relu",
|
| 1171 |
+
"negative_slope": 0.05,
|
| 1172 |
+
"output": "down_1_activation_1_out",
|
| 1173 |
+
"primitive_version": 1,
|
| 1174 |
+
"value": "down_1_dropout_1_out"
|
| 1175 |
+
},
|
| 1176 |
+
{
|
| 1177 |
+
"kind": "call_module",
|
| 1178 |
+
"module": "down_1_conv_2",
|
| 1179 |
+
"output": "down_1_conv_2_out",
|
| 1180 |
+
"primitive_version": 1,
|
| 1181 |
+
"value": "down_1_activation_1_out"
|
| 1182 |
+
},
|
| 1183 |
+
{
|
| 1184 |
+
"kind": "call_module",
|
| 1185 |
+
"module": "down_1_norm_2",
|
| 1186 |
+
"output": "down_1_norm_2_out",
|
| 1187 |
+
"primitive_version": 1,
|
| 1188 |
+
"value": "down_1_conv_2_out"
|
| 1189 |
+
},
|
| 1190 |
+
{
|
| 1191 |
+
"inplace": false,
|
| 1192 |
+
"kind": "dropout3d",
|
| 1193 |
+
"output": "down_1_dropout_2_out",
|
| 1194 |
+
"primitive_version": 1,
|
| 1195 |
+
"probability": 0.0,
|
| 1196 |
+
"value": "down_1_norm_2_out"
|
| 1197 |
+
},
|
| 1198 |
+
{
|
| 1199 |
+
"inplace": true,
|
| 1200 |
+
"kind": "leaky_relu",
|
| 1201 |
+
"negative_slope": 0.05,
|
| 1202 |
+
"output": "down_1_activation_2_out",
|
| 1203 |
+
"primitive_version": 1,
|
| 1204 |
+
"value": "down_1_dropout_2_out"
|
| 1205 |
+
},
|
| 1206 |
+
{
|
| 1207 |
+
"kind": "call_module",
|
| 1208 |
+
"module": "downsample_1",
|
| 1209 |
+
"output": "downsample_1_out",
|
| 1210 |
+
"primitive_version": 1,
|
| 1211 |
+
"value": "down_1_activation_2_out"
|
| 1212 |
+
},
|
| 1213 |
+
{
|
| 1214 |
+
"inplace": true,
|
| 1215 |
+
"kind": "leaky_relu",
|
| 1216 |
+
"negative_slope": 0.05,
|
| 1217 |
+
"output": "downsample_1_activation_out",
|
| 1218 |
+
"primitive_version": 1,
|
| 1219 |
+
"value": "downsample_1_out"
|
| 1220 |
+
},
|
| 1221 |
+
{
|
| 1222 |
+
"kind": "call_module",
|
| 1223 |
+
"module": "down_2_conv_0",
|
| 1224 |
+
"output": "down_2_conv_0_out",
|
| 1225 |
+
"primitive_version": 1,
|
| 1226 |
+
"value": "downsample_1_activation_out"
|
| 1227 |
+
},
|
| 1228 |
+
{
|
| 1229 |
+
"kind": "call_module",
|
| 1230 |
+
"module": "down_2_norm_0",
|
| 1231 |
+
"output": "down_2_norm_0_out",
|
| 1232 |
+
"primitive_version": 1,
|
| 1233 |
+
"value": "down_2_conv_0_out"
|
| 1234 |
+
},
|
| 1235 |
+
{
|
| 1236 |
+
"inplace": false,
|
| 1237 |
+
"kind": "dropout3d",
|
| 1238 |
+
"output": "down_2_dropout_0_out",
|
| 1239 |
+
"primitive_version": 1,
|
| 1240 |
+
"probability": 0.0,
|
| 1241 |
+
"value": "down_2_norm_0_out"
|
| 1242 |
+
},
|
| 1243 |
+
{
|
| 1244 |
+
"inplace": true,
|
| 1245 |
+
"kind": "leaky_relu",
|
| 1246 |
+
"negative_slope": 0.05,
|
| 1247 |
+
"output": "down_2_activation_0_out",
|
| 1248 |
+
"primitive_version": 1,
|
| 1249 |
+
"value": "down_2_dropout_0_out"
|
| 1250 |
+
},
|
| 1251 |
+
{
|
| 1252 |
+
"kind": "call_module",
|
| 1253 |
+
"module": "down_2_conv_1",
|
| 1254 |
+
"output": "down_2_conv_1_out",
|
| 1255 |
+
"primitive_version": 1,
|
| 1256 |
+
"value": "down_2_activation_0_out"
|
| 1257 |
+
},
|
| 1258 |
+
{
|
| 1259 |
+
"kind": "call_module",
|
| 1260 |
+
"module": "down_2_norm_1",
|
| 1261 |
+
"output": "down_2_norm_1_out",
|
| 1262 |
+
"primitive_version": 1,
|
| 1263 |
+
"value": "down_2_conv_1_out"
|
| 1264 |
+
},
|
| 1265 |
+
{
|
| 1266 |
+
"inplace": false,
|
| 1267 |
+
"kind": "dropout3d",
|
| 1268 |
+
"output": "down_2_dropout_1_out",
|
| 1269 |
+
"primitive_version": 1,
|
| 1270 |
+
"probability": 0.0,
|
| 1271 |
+
"value": "down_2_norm_1_out"
|
| 1272 |
+
},
|
| 1273 |
+
{
|
| 1274 |
+
"inplace": true,
|
| 1275 |
+
"kind": "leaky_relu",
|
| 1276 |
+
"negative_slope": 0.05,
|
| 1277 |
+
"output": "down_2_activation_1_out",
|
| 1278 |
+
"primitive_version": 1,
|
| 1279 |
+
"value": "down_2_dropout_1_out"
|
| 1280 |
+
},
|
| 1281 |
+
{
|
| 1282 |
+
"kind": "call_module",
|
| 1283 |
+
"module": "down_2_conv_2",
|
| 1284 |
+
"output": "down_2_conv_2_out",
|
| 1285 |
+
"primitive_version": 1,
|
| 1286 |
+
"value": "down_2_activation_1_out"
|
| 1287 |
+
},
|
| 1288 |
+
{
|
| 1289 |
+
"kind": "call_module",
|
| 1290 |
+
"module": "down_2_norm_2",
|
| 1291 |
+
"output": "down_2_norm_2_out",
|
| 1292 |
+
"primitive_version": 1,
|
| 1293 |
+
"value": "down_2_conv_2_out"
|
| 1294 |
+
},
|
| 1295 |
+
{
|
| 1296 |
+
"inplace": false,
|
| 1297 |
+
"kind": "dropout3d",
|
| 1298 |
+
"output": "down_2_dropout_2_out",
|
| 1299 |
+
"primitive_version": 1,
|
| 1300 |
+
"probability": 0.0,
|
| 1301 |
+
"value": "down_2_norm_2_out"
|
| 1302 |
+
},
|
| 1303 |
+
{
|
| 1304 |
+
"inplace": true,
|
| 1305 |
+
"kind": "leaky_relu",
|
| 1306 |
+
"negative_slope": 0.05,
|
| 1307 |
+
"output": "down_2_activation_2_out",
|
| 1308 |
+
"primitive_version": 1,
|
| 1309 |
+
"value": "down_2_dropout_2_out"
|
| 1310 |
+
},
|
| 1311 |
+
{
|
| 1312 |
+
"kind": "call_module",
|
| 1313 |
+
"module": "downsample_2",
|
| 1314 |
+
"output": "downsample_2_out",
|
| 1315 |
+
"primitive_version": 1,
|
| 1316 |
+
"value": "down_2_activation_2_out"
|
| 1317 |
+
},
|
| 1318 |
+
{
|
| 1319 |
+
"inplace": true,
|
| 1320 |
+
"kind": "leaky_relu",
|
| 1321 |
+
"negative_slope": 0.05,
|
| 1322 |
+
"output": "downsample_2_activation_out",
|
| 1323 |
+
"primitive_version": 1,
|
| 1324 |
+
"value": "downsample_2_out"
|
| 1325 |
+
},
|
| 1326 |
+
{
|
| 1327 |
+
"kind": "call_module",
|
| 1328 |
+
"module": "bottleneck_conv_0",
|
| 1329 |
+
"output": "bottleneck_conv_0_out",
|
| 1330 |
+
"primitive_version": 1,
|
| 1331 |
+
"value": "downsample_2_activation_out"
|
| 1332 |
+
},
|
| 1333 |
+
{
|
| 1334 |
+
"inplace": false,
|
| 1335 |
+
"kind": "dropout3d",
|
| 1336 |
+
"output": "bottleneck_dropout_0_out",
|
| 1337 |
+
"primitive_version": 1,
|
| 1338 |
+
"probability": 0.0,
|
| 1339 |
+
"value": "bottleneck_conv_0_out"
|
| 1340 |
+
},
|
| 1341 |
+
{
|
| 1342 |
+
"inplace": true,
|
| 1343 |
+
"kind": "leaky_relu",
|
| 1344 |
+
"negative_slope": 0.05,
|
| 1345 |
+
"output": "bottleneck_activation_0_out",
|
| 1346 |
+
"primitive_version": 1,
|
| 1347 |
+
"value": "bottleneck_dropout_0_out"
|
| 1348 |
+
},
|
| 1349 |
+
{
|
| 1350 |
+
"kind": "call_module",
|
| 1351 |
+
"module": "bottleneck_conv_1",
|
| 1352 |
+
"output": "bottleneck_conv_1_out",
|
| 1353 |
+
"primitive_version": 1,
|
| 1354 |
+
"value": "bottleneck_activation_0_out"
|
| 1355 |
+
},
|
| 1356 |
+
{
|
| 1357 |
+
"kind": "call_module",
|
| 1358 |
+
"module": "upsample_0",
|
| 1359 |
+
"output": "upsample_0_out",
|
| 1360 |
+
"primitive_version": 1,
|
| 1361 |
+
"value": "bottleneck_conv_1_out"
|
| 1362 |
+
},
|
| 1363 |
+
{
|
| 1364 |
+
"dimension": 1,
|
| 1365 |
+
"kind": "concat",
|
| 1366 |
+
"output": "upsample_0_concat",
|
| 1367 |
+
"primitive_version": 1,
|
| 1368 |
+
"values": [
|
| 1369 |
+
"upsample_0_out",
|
| 1370 |
+
"down_2_activation_2_out"
|
| 1371 |
+
]
|
| 1372 |
+
},
|
| 1373 |
+
{
|
| 1374 |
+
"inplace": true,
|
| 1375 |
+
"kind": "leaky_relu",
|
| 1376 |
+
"negative_slope": 0.05,
|
| 1377 |
+
"output": "upsample_0_activation_out",
|
| 1378 |
+
"primitive_version": 1,
|
| 1379 |
+
"value": "upsample_0_concat"
|
| 1380 |
+
},
|
| 1381 |
+
{
|
| 1382 |
+
"kind": "call_module",
|
| 1383 |
+
"module": "up_0_conv_0",
|
| 1384 |
+
"output": "up_0_conv_0_out",
|
| 1385 |
+
"primitive_version": 1,
|
| 1386 |
+
"value": "upsample_0_activation_out"
|
| 1387 |
+
},
|
| 1388 |
+
{
|
| 1389 |
+
"kind": "call_module",
|
| 1390 |
+
"module": "up_0_norm_0",
|
| 1391 |
+
"output": "up_0_norm_0_out",
|
| 1392 |
+
"primitive_version": 1,
|
| 1393 |
+
"value": "up_0_conv_0_out"
|
| 1394 |
+
},
|
| 1395 |
+
{
|
| 1396 |
+
"inplace": false,
|
| 1397 |
+
"kind": "dropout3d",
|
| 1398 |
+
"output": "up_0_dropout_0_out",
|
| 1399 |
+
"primitive_version": 1,
|
| 1400 |
+
"probability": 0.0,
|
| 1401 |
+
"value": "up_0_norm_0_out"
|
| 1402 |
+
},
|
| 1403 |
+
{
|
| 1404 |
+
"inplace": true,
|
| 1405 |
+
"kind": "leaky_relu",
|
| 1406 |
+
"negative_slope": 0.05,
|
| 1407 |
+
"output": "up_0_activation_0_out",
|
| 1408 |
+
"primitive_version": 1,
|
| 1409 |
+
"value": "up_0_dropout_0_out"
|
| 1410 |
+
},
|
| 1411 |
+
{
|
| 1412 |
+
"kind": "call_module",
|
| 1413 |
+
"module": "up_0_conv_1",
|
| 1414 |
+
"output": "up_0_conv_1_out",
|
| 1415 |
+
"primitive_version": 1,
|
| 1416 |
+
"value": "up_0_activation_0_out"
|
| 1417 |
+
},
|
| 1418 |
+
{
|
| 1419 |
+
"kind": "call_module",
|
| 1420 |
+
"module": "up_0_norm_1",
|
| 1421 |
+
"output": "up_0_norm_1_out",
|
| 1422 |
+
"primitive_version": 1,
|
| 1423 |
+
"value": "up_0_conv_1_out"
|
| 1424 |
+
},
|
| 1425 |
+
{
|
| 1426 |
+
"inplace": false,
|
| 1427 |
+
"kind": "dropout3d",
|
| 1428 |
+
"output": "up_0_dropout_1_out",
|
| 1429 |
+
"primitive_version": 1,
|
| 1430 |
+
"probability": 0.0,
|
| 1431 |
+
"value": "up_0_norm_1_out"
|
| 1432 |
+
},
|
| 1433 |
+
{
|
| 1434 |
+
"inplace": true,
|
| 1435 |
+
"kind": "leaky_relu",
|
| 1436 |
+
"negative_slope": 0.05,
|
| 1437 |
+
"output": "up_0_activation_1_out",
|
| 1438 |
+
"primitive_version": 1,
|
| 1439 |
+
"value": "up_0_dropout_1_out"
|
| 1440 |
+
},
|
| 1441 |
+
{
|
| 1442 |
+
"kind": "call_module",
|
| 1443 |
+
"module": "up_0_conv_2",
|
| 1444 |
+
"output": "up_0_conv_2_out",
|
| 1445 |
+
"primitive_version": 1,
|
| 1446 |
+
"value": "up_0_activation_1_out"
|
| 1447 |
+
},
|
| 1448 |
+
{
|
| 1449 |
+
"kind": "call_module",
|
| 1450 |
+
"module": "up_0_norm_2",
|
| 1451 |
+
"output": "up_0_norm_2_out",
|
| 1452 |
+
"primitive_version": 1,
|
| 1453 |
+
"value": "up_0_conv_2_out"
|
| 1454 |
+
},
|
| 1455 |
+
{
|
| 1456 |
+
"inplace": false,
|
| 1457 |
+
"kind": "dropout3d",
|
| 1458 |
+
"output": "up_0_dropout_2_out",
|
| 1459 |
+
"primitive_version": 1,
|
| 1460 |
+
"probability": 0.0,
|
| 1461 |
+
"value": "up_0_norm_2_out"
|
| 1462 |
+
},
|
| 1463 |
+
{
|
| 1464 |
+
"inplace": true,
|
| 1465 |
+
"kind": "leaky_relu",
|
| 1466 |
+
"negative_slope": 0.05,
|
| 1467 |
+
"output": "up_0_activation_2_out",
|
| 1468 |
+
"primitive_version": 1,
|
| 1469 |
+
"value": "up_0_dropout_2_out"
|
| 1470 |
+
},
|
| 1471 |
+
{
|
| 1472 |
+
"kind": "call_module",
|
| 1473 |
+
"module": "upsample_1",
|
| 1474 |
+
"output": "upsample_1_out",
|
| 1475 |
+
"primitive_version": 1,
|
| 1476 |
+
"value": "up_0_activation_2_out"
|
| 1477 |
+
},
|
| 1478 |
+
{
|
| 1479 |
+
"dimension": 1,
|
| 1480 |
+
"kind": "concat",
|
| 1481 |
+
"output": "upsample_1_concat",
|
| 1482 |
+
"primitive_version": 1,
|
| 1483 |
+
"values": [
|
| 1484 |
+
"upsample_1_out",
|
| 1485 |
+
"down_1_activation_2_out"
|
| 1486 |
+
]
|
| 1487 |
+
},
|
| 1488 |
+
{
|
| 1489 |
+
"inplace": true,
|
| 1490 |
+
"kind": "leaky_relu",
|
| 1491 |
+
"negative_slope": 0.05,
|
| 1492 |
+
"output": "upsample_1_activation_out",
|
| 1493 |
+
"primitive_version": 1,
|
| 1494 |
+
"value": "upsample_1_concat"
|
| 1495 |
+
},
|
| 1496 |
+
{
|
| 1497 |
+
"kind": "call_module",
|
| 1498 |
+
"module": "up_1_conv_0",
|
| 1499 |
+
"output": "up_1_conv_0_out",
|
| 1500 |
+
"primitive_version": 1,
|
| 1501 |
+
"value": "upsample_1_activation_out"
|
| 1502 |
+
},
|
| 1503 |
+
{
|
| 1504 |
+
"kind": "call_module",
|
| 1505 |
+
"module": "up_1_norm_0",
|
| 1506 |
+
"output": "up_1_norm_0_out",
|
| 1507 |
+
"primitive_version": 1,
|
| 1508 |
+
"value": "up_1_conv_0_out"
|
| 1509 |
+
},
|
| 1510 |
+
{
|
| 1511 |
+
"inplace": false,
|
| 1512 |
+
"kind": "dropout3d",
|
| 1513 |
+
"output": "up_1_dropout_0_out",
|
| 1514 |
+
"primitive_version": 1,
|
| 1515 |
+
"probability": 0.0,
|
| 1516 |
+
"value": "up_1_norm_0_out"
|
| 1517 |
+
},
|
| 1518 |
+
{
|
| 1519 |
+
"inplace": true,
|
| 1520 |
+
"kind": "leaky_relu",
|
| 1521 |
+
"negative_slope": 0.05,
|
| 1522 |
+
"output": "up_1_activation_0_out",
|
| 1523 |
+
"primitive_version": 1,
|
| 1524 |
+
"value": "up_1_dropout_0_out"
|
| 1525 |
+
},
|
| 1526 |
+
{
|
| 1527 |
+
"kind": "call_module",
|
| 1528 |
+
"module": "up_1_conv_1",
|
| 1529 |
+
"output": "up_1_conv_1_out",
|
| 1530 |
+
"primitive_version": 1,
|
| 1531 |
+
"value": "up_1_activation_0_out"
|
| 1532 |
+
},
|
| 1533 |
+
{
|
| 1534 |
+
"kind": "call_module",
|
| 1535 |
+
"module": "up_1_norm_1",
|
| 1536 |
+
"output": "up_1_norm_1_out",
|
| 1537 |
+
"primitive_version": 1,
|
| 1538 |
+
"value": "up_1_conv_1_out"
|
| 1539 |
+
},
|
| 1540 |
+
{
|
| 1541 |
+
"inplace": false,
|
| 1542 |
+
"kind": "dropout3d",
|
| 1543 |
+
"output": "up_1_dropout_1_out",
|
| 1544 |
+
"primitive_version": 1,
|
| 1545 |
+
"probability": 0.0,
|
| 1546 |
+
"value": "up_1_norm_1_out"
|
| 1547 |
+
},
|
| 1548 |
+
{
|
| 1549 |
+
"inplace": true,
|
| 1550 |
+
"kind": "leaky_relu",
|
| 1551 |
+
"negative_slope": 0.05,
|
| 1552 |
+
"output": "up_1_activation_1_out",
|
| 1553 |
+
"primitive_version": 1,
|
| 1554 |
+
"value": "up_1_dropout_1_out"
|
| 1555 |
+
},
|
| 1556 |
+
{
|
| 1557 |
+
"kind": "call_module",
|
| 1558 |
+
"module": "up_1_conv_2",
|
| 1559 |
+
"output": "up_1_conv_2_out",
|
| 1560 |
+
"primitive_version": 1,
|
| 1561 |
+
"value": "up_1_activation_1_out"
|
| 1562 |
+
},
|
| 1563 |
+
{
|
| 1564 |
+
"kind": "call_module",
|
| 1565 |
+
"module": "up_1_norm_2",
|
| 1566 |
+
"output": "up_1_norm_2_out",
|
| 1567 |
+
"primitive_version": 1,
|
| 1568 |
+
"value": "up_1_conv_2_out"
|
| 1569 |
+
},
|
| 1570 |
+
{
|
| 1571 |
+
"inplace": false,
|
| 1572 |
+
"kind": "dropout3d",
|
| 1573 |
+
"output": "up_1_dropout_2_out",
|
| 1574 |
+
"primitive_version": 1,
|
| 1575 |
+
"probability": 0.0,
|
| 1576 |
+
"value": "up_1_norm_2_out"
|
| 1577 |
+
},
|
| 1578 |
+
{
|
| 1579 |
+
"inplace": true,
|
| 1580 |
+
"kind": "leaky_relu",
|
| 1581 |
+
"negative_slope": 0.05,
|
| 1582 |
+
"output": "up_1_activation_2_out",
|
| 1583 |
+
"primitive_version": 1,
|
| 1584 |
+
"value": "up_1_dropout_2_out"
|
| 1585 |
+
},
|
| 1586 |
+
{
|
| 1587 |
+
"kind": "call_module",
|
| 1588 |
+
"module": "upsample_2",
|
| 1589 |
+
"output": "upsample_2_out",
|
| 1590 |
+
"primitive_version": 1,
|
| 1591 |
+
"value": "up_1_activation_2_out"
|
| 1592 |
+
},
|
| 1593 |
+
{
|
| 1594 |
+
"dimension": 1,
|
| 1595 |
+
"kind": "concat",
|
| 1596 |
+
"output": "upsample_2_concat",
|
| 1597 |
+
"primitive_version": 1,
|
| 1598 |
+
"values": [
|
| 1599 |
+
"upsample_2_out",
|
| 1600 |
+
"down_0_activation_2_out"
|
| 1601 |
+
]
|
| 1602 |
+
},
|
| 1603 |
+
{
|
| 1604 |
+
"inplace": true,
|
| 1605 |
+
"kind": "leaky_relu",
|
| 1606 |
+
"negative_slope": 0.05,
|
| 1607 |
+
"output": "upsample_2_activation_out",
|
| 1608 |
+
"primitive_version": 1,
|
| 1609 |
+
"value": "upsample_2_concat"
|
| 1610 |
+
},
|
| 1611 |
+
{
|
| 1612 |
+
"kind": "call_module",
|
| 1613 |
+
"module": "up_2_conv_0",
|
| 1614 |
+
"output": "up_2_conv_0_out",
|
| 1615 |
+
"primitive_version": 1,
|
| 1616 |
+
"value": "upsample_2_activation_out"
|
| 1617 |
+
},
|
| 1618 |
+
{
|
| 1619 |
+
"kind": "call_module",
|
| 1620 |
+
"module": "up_2_norm_0",
|
| 1621 |
+
"output": "up_2_norm_0_out",
|
| 1622 |
+
"primitive_version": 1,
|
| 1623 |
+
"value": "up_2_conv_0_out"
|
| 1624 |
+
},
|
| 1625 |
+
{
|
| 1626 |
+
"inplace": false,
|
| 1627 |
+
"kind": "dropout3d",
|
| 1628 |
+
"output": "up_2_dropout_0_out",
|
| 1629 |
+
"primitive_version": 1,
|
| 1630 |
+
"probability": 0.0,
|
| 1631 |
+
"value": "up_2_norm_0_out"
|
| 1632 |
+
},
|
| 1633 |
+
{
|
| 1634 |
+
"inplace": true,
|
| 1635 |
+
"kind": "leaky_relu",
|
| 1636 |
+
"negative_slope": 0.05,
|
| 1637 |
+
"output": "up_2_activation_0_out",
|
| 1638 |
+
"primitive_version": 1,
|
| 1639 |
+
"value": "up_2_dropout_0_out"
|
| 1640 |
+
},
|
| 1641 |
+
{
|
| 1642 |
+
"kind": "call_module",
|
| 1643 |
+
"module": "up_2_conv_1",
|
| 1644 |
+
"output": "up_2_conv_1_out",
|
| 1645 |
+
"primitive_version": 1,
|
| 1646 |
+
"value": "up_2_activation_0_out"
|
| 1647 |
+
},
|
| 1648 |
+
{
|
| 1649 |
+
"kind": "call_module",
|
| 1650 |
+
"module": "up_2_norm_1",
|
| 1651 |
+
"output": "up_2_norm_1_out",
|
| 1652 |
+
"primitive_version": 1,
|
| 1653 |
+
"value": "up_2_conv_1_out"
|
| 1654 |
+
},
|
| 1655 |
+
{
|
| 1656 |
+
"inplace": false,
|
| 1657 |
+
"kind": "dropout3d",
|
| 1658 |
+
"output": "up_2_dropout_1_out",
|
| 1659 |
+
"primitive_version": 1,
|
| 1660 |
+
"probability": 0.0,
|
| 1661 |
+
"value": "up_2_norm_1_out"
|
| 1662 |
+
},
|
| 1663 |
+
{
|
| 1664 |
+
"inplace": true,
|
| 1665 |
+
"kind": "leaky_relu",
|
| 1666 |
+
"negative_slope": 0.05,
|
| 1667 |
+
"output": "up_2_activation_1_out",
|
| 1668 |
+
"primitive_version": 1,
|
| 1669 |
+
"value": "up_2_dropout_1_out"
|
| 1670 |
+
},
|
| 1671 |
+
{
|
| 1672 |
+
"kind": "call_module",
|
| 1673 |
+
"module": "up_2_conv_2",
|
| 1674 |
+
"output": "up_2_conv_2_out",
|
| 1675 |
+
"primitive_version": 1,
|
| 1676 |
+
"value": "up_2_activation_1_out"
|
| 1677 |
+
},
|
| 1678 |
+
{
|
| 1679 |
+
"kind": "call_module",
|
| 1680 |
+
"module": "up_2_norm_2",
|
| 1681 |
+
"output": "up_2_norm_2_out",
|
| 1682 |
+
"primitive_version": 1,
|
| 1683 |
+
"value": "up_2_conv_2_out"
|
| 1684 |
+
},
|
| 1685 |
+
{
|
| 1686 |
+
"inplace": false,
|
| 1687 |
+
"kind": "dropout3d",
|
| 1688 |
+
"output": "up_2_dropout_2_out",
|
| 1689 |
+
"primitive_version": 1,
|
| 1690 |
+
"probability": 0.0,
|
| 1691 |
+
"value": "up_2_norm_2_out"
|
| 1692 |
+
},
|
| 1693 |
+
{
|
| 1694 |
+
"inplace": true,
|
| 1695 |
+
"kind": "leaky_relu",
|
| 1696 |
+
"negative_slope": 0.05,
|
| 1697 |
+
"output": "up_2_activation_2_out",
|
| 1698 |
+
"primitive_version": 1,
|
| 1699 |
+
"value": "up_2_dropout_2_out"
|
| 1700 |
+
},
|
| 1701 |
+
{
|
| 1702 |
+
"kind": "call_module",
|
| 1703 |
+
"module": "final_conv",
|
| 1704 |
+
"output": "final_conv_out",
|
| 1705 |
+
"primitive_version": 1,
|
| 1706 |
+
"value": "up_2_activation_2_out"
|
| 1707 |
},
|
| 1708 |
+
{
|
| 1709 |
+
"kind": "add",
|
| 1710 |
+
"left": "final_conv_out",
|
| 1711 |
+
"output": "residual_output",
|
| 1712 |
+
"primitive_version": 1,
|
| 1713 |
+
"right": "input"
|
| 1714 |
+
}
|
| 1715 |
+
],
|
| 1716 |
+
"outputs": [
|
| 1717 |
+
{
|
| 1718 |
+
"channels": 1,
|
| 1719 |
+
"name": "output",
|
| 1720 |
+
"source": "residual_output"
|
| 1721 |
+
}
|
| 1722 |
+
],
|
| 1723 |
+
"schema_version": 1
|
| 1724 |
+
},
|
| 1725 |
+
"schema_version": 2
|
| 1726 |
}
|
conversion/conversion-record.json
CHANGED
|
@@ -1,491 +1,468 @@
|
|
| 1 |
{
|
| 2 |
-
"construction_fingerprint": "sha256:
|
| 3 |
"environment": {
|
| 4 |
-
"
|
| 5 |
-
"
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
"unsafe": {
|
| 12 |
-
"platform": "Linux-6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45-x86_64-with-glibc2.41",
|
| 13 |
-
"python": "3.10.16",
|
| 14 |
-
"pytorch_lightning": "1.8.0.post1",
|
| 15 |
-
"safetensors": "0.5.3",
|
| 16 |
-
"torch": "2.2.0+cpu"
|
| 17 |
-
}
|
| 18 |
},
|
| 19 |
-
"inference_fingerprint": "sha256:
|
| 20 |
"kind": "scitomo_checkpoint_conversion",
|
| 21 |
"package_id": "deepdewedge_tutorial",
|
| 22 |
-
"package_revision":
|
| 23 |
-
"schema_version":
|
| 24 |
"source": {
|
| 25 |
-
"identifier": "
|
| 26 |
-
"kind": "
|
| 27 |
"metadata": {
|
|
|
|
| 28 |
"archive_sha256": "7c871342e51f5a66a773fe427d72944b5d2cc8ff41c5b7415ab38dbfc9ac6d58",
|
| 29 |
-
"archive_size_bytes": 1947310911,
|
| 30 |
"checkpoint_size_bytes": 327952642,
|
| 31 |
-
"
|
| 32 |
},
|
| 33 |
"project": "DeepDeWedge Tutorial Data",
|
| 34 |
-
"revision": "
|
| 35 |
"sha256": "5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76",
|
| 36 |
-
"url": "https://
|
| 37 |
},
|
| 38 |
-
"
|
| 39 |
-
"tool_version": "1",
|
| 40 |
-
"transformations": [
|
| 41 |
-
{
|
| 42 |
-
"details": {
|
| 43 |
-
"state_role": "parameter_to_buffer"
|
| 44 |
-
},
|
| 45 |
-
"kind": "tensor_name_mapping",
|
| 46 |
-
"source": "unet._normalization_loc",
|
| 47 |
-
"target": "_normalization_loc"
|
| 48 |
-
},
|
| 49 |
{
|
| 50 |
"details": {
|
| 51 |
-
"
|
| 52 |
},
|
| 53 |
-
"kind": "
|
| 54 |
-
"source": "unet.
|
| 55 |
-
"target": "
|
| 56 |
},
|
| 57 |
{
|
| 58 |
"details": {
|
| 59 |
-
"
|
| 60 |
},
|
| 61 |
-
"kind": "
|
| 62 |
-
"source": "unet.
|
| 63 |
-
"target": "
|
| 64 |
},
|
| 65 |
{
|
| 66 |
"details": {
|
| 67 |
-
"
|
| 68 |
},
|
| 69 |
-
"kind": "
|
| 70 |
-
"source": "unet.
|
| 71 |
-
"target": "
|
| 72 |
},
|
| 73 |
{
|
| 74 |
"details": {
|
| 75 |
-
"
|
| 76 |
},
|
| 77 |
-
"kind": "
|
| 78 |
-
"source": "unet.
|
| 79 |
-
"target": "
|
| 80 |
},
|
| 81 |
{
|
| 82 |
"details": {
|
| 83 |
-
"
|
| 84 |
},
|
| 85 |
-
"kind": "
|
| 86 |
-
"source": "unet.down_blocks.0.layers.
|
| 87 |
-
"target": "
|
| 88 |
},
|
| 89 |
{
|
| 90 |
"details": {
|
| 91 |
-
"
|
| 92 |
},
|
| 93 |
-
"kind": "
|
| 94 |
-
"source": "unet.down_blocks.0.layers.
|
| 95 |
-
"target": "
|
| 96 |
},
|
| 97 |
{
|
| 98 |
"details": {
|
| 99 |
-
"
|
| 100 |
},
|
| 101 |
-
"kind": "
|
| 102 |
-
"source": "unet.down_blocks.0.layers.
|
| 103 |
-
"target": "
|
| 104 |
},
|
| 105 |
{
|
| 106 |
"details": {
|
| 107 |
-
"
|
| 108 |
},
|
| 109 |
-
"kind": "
|
| 110 |
-
"source": "unet.down_blocks.
|
| 111 |
-
"target": "
|
| 112 |
},
|
| 113 |
{
|
| 114 |
"details": {
|
| 115 |
-
"
|
| 116 |
},
|
| 117 |
-
"kind": "
|
| 118 |
-
"source": "unet.down_blocks.
|
| 119 |
-
"target": "
|
| 120 |
},
|
| 121 |
{
|
| 122 |
"details": {
|
| 123 |
-
"
|
| 124 |
},
|
| 125 |
-
"kind": "
|
| 126 |
-
"source": "unet.down_blocks.
|
| 127 |
-
"target": "
|
| 128 |
},
|
| 129 |
{
|
| 130 |
"details": {
|
| 131 |
-
"
|
| 132 |
},
|
| 133 |
-
"kind": "
|
| 134 |
-
"source": "unet.down_blocks.1.layers.
|
| 135 |
-
"target": "
|
| 136 |
},
|
| 137 |
{
|
| 138 |
"details": {
|
| 139 |
-
"
|
| 140 |
},
|
| 141 |
-
"kind": "
|
| 142 |
-
"source": "unet.down_blocks.1.layers.
|
| 143 |
-
"target": "
|
| 144 |
},
|
| 145 |
{
|
| 146 |
"details": {
|
| 147 |
-
"
|
| 148 |
},
|
| 149 |
-
"kind": "
|
| 150 |
-
"source": "unet.down_blocks.1.layers.
|
| 151 |
-
"target": "
|
| 152 |
},
|
| 153 |
{
|
| 154 |
"details": {
|
| 155 |
-
"
|
| 156 |
},
|
| 157 |
-
"kind": "
|
| 158 |
-
"source": "unet.down_blocks.
|
| 159 |
-
"target": "
|
| 160 |
},
|
| 161 |
{
|
| 162 |
"details": {
|
| 163 |
-
"
|
| 164 |
},
|
| 165 |
-
"kind": "
|
| 166 |
-
"source": "unet.down_blocks.
|
| 167 |
-
"target": "
|
| 168 |
},
|
| 169 |
{
|
| 170 |
"details": {
|
| 171 |
-
"
|
| 172 |
},
|
| 173 |
-
"kind": "
|
| 174 |
-
"source": "unet.down_blocks.
|
| 175 |
-
"target": "
|
| 176 |
},
|
| 177 |
{
|
| 178 |
"details": {
|
| 179 |
-
"
|
| 180 |
},
|
| 181 |
-
"kind": "
|
| 182 |
-
"source": "unet.down_blocks.2.layers.
|
| 183 |
-
"target": "
|
| 184 |
},
|
| 185 |
{
|
| 186 |
"details": {
|
| 187 |
-
"
|
| 188 |
},
|
| 189 |
-
"kind": "
|
| 190 |
-
"source": "unet.down_blocks.2.layers.
|
| 191 |
-
"target": "
|
| 192 |
},
|
| 193 |
{
|
| 194 |
"details": {
|
| 195 |
-
"
|
| 196 |
},
|
| 197 |
-
"kind": "
|
| 198 |
-
"source": "unet.down_blocks.2.layers.
|
| 199 |
-
"target": "
|
| 200 |
},
|
| 201 |
{
|
| 202 |
"details": {
|
| 203 |
-
"
|
| 204 |
},
|
| 205 |
-
"kind": "
|
| 206 |
-
"source": "unet.
|
| 207 |
-
"target": "
|
| 208 |
},
|
| 209 |
{
|
| 210 |
"details": {
|
| 211 |
-
"
|
| 212 |
},
|
| 213 |
-
"kind": "
|
| 214 |
-
"source": "unet.
|
| 215 |
-
"target": "
|
| 216 |
},
|
| 217 |
{
|
| 218 |
"details": {
|
| 219 |
-
"
|
| 220 |
},
|
| 221 |
-
"kind": "
|
| 222 |
-
"source": "unet.
|
| 223 |
-
"target": "
|
| 224 |
},
|
| 225 |
{
|
| 226 |
"details": {
|
| 227 |
-
"
|
| 228 |
},
|
| 229 |
-
"kind": "
|
| 230 |
-
"source": "unet.down_samplers.
|
| 231 |
-
"target": "
|
| 232 |
},
|
| 233 |
{
|
| 234 |
"details": {
|
| 235 |
-
"
|
| 236 |
},
|
| 237 |
-
"kind": "
|
| 238 |
-
"source": "unet.down_samplers.
|
| 239 |
-
"target": "
|
| 240 |
},
|
| 241 |
{
|
| 242 |
"details": {
|
| 243 |
-
"
|
| 244 |
},
|
| 245 |
-
"kind": "
|
| 246 |
-
"source": "unet.down_samplers.
|
| 247 |
-
"target": "
|
| 248 |
},
|
| 249 |
{
|
| 250 |
"details": {
|
| 251 |
-
"
|
| 252 |
},
|
| 253 |
-
"kind": "
|
| 254 |
-
"source": "unet.
|
| 255 |
-
"target": "
|
| 256 |
},
|
| 257 |
{
|
| 258 |
"details": {
|
| 259 |
-
"
|
| 260 |
},
|
| 261 |
-
"kind": "
|
| 262 |
-
"source": "unet.
|
| 263 |
-
"target": "
|
| 264 |
},
|
| 265 |
{
|
| 266 |
"details": {
|
| 267 |
-
"
|
| 268 |
},
|
| 269 |
-
"kind": "
|
| 270 |
-
"source": "unet.
|
| 271 |
-
"target": "
|
| 272 |
},
|
| 273 |
{
|
| 274 |
"details": {
|
| 275 |
-
"
|
| 276 |
},
|
| 277 |
-
"kind": "
|
| 278 |
-
"source": "unet.
|
| 279 |
-
"target": "
|
| 280 |
-
},
|
| 281 |
-
{
|
| 282 |
-
"details": {
|
| 283 |
-
"state_role": "parameter_to_parameter"
|
| 284 |
-
},
|
| 285 |
-
"kind": "tensor_name_mapping",
|
| 286 |
-
"source": "unet.up_blocks.0.layers.0.weight",
|
| 287 |
-
"target": "up_blocks.0.layers.0.weight"
|
| 288 |
},
|
| 289 |
{
|
| 290 |
"details": {
|
| 291 |
-
"
|
| 292 |
},
|
| 293 |
-
"kind": "
|
| 294 |
-
"source": "unet.
|
| 295 |
-
"target": "
|
| 296 |
},
|
| 297 |
{
|
| 298 |
"details": {
|
| 299 |
-
"
|
| 300 |
},
|
| 301 |
-
"kind": "
|
| 302 |
-
"source": "unet.up_blocks.0.layers.
|
| 303 |
-
"target": "
|
| 304 |
},
|
| 305 |
{
|
| 306 |
"details": {
|
| 307 |
-
"
|
| 308 |
},
|
| 309 |
-
"kind": "
|
| 310 |
-
"source": "unet.up_blocks.0.layers.
|
| 311 |
-
"target": "
|
| 312 |
},
|
| 313 |
{
|
| 314 |
"details": {
|
| 315 |
-
"
|
| 316 |
},
|
| 317 |
-
"kind": "
|
| 318 |
-
"source": "unet.up_blocks.0.layers.
|
| 319 |
-
"target": "
|
| 320 |
},
|
| 321 |
{
|
| 322 |
"details": {
|
| 323 |
-
"
|
| 324 |
},
|
| 325 |
-
"kind": "
|
| 326 |
-
"source": "unet.up_blocks.0.layers.
|
| 327 |
-
"target": "
|
| 328 |
},
|
| 329 |
{
|
| 330 |
"details": {
|
| 331 |
-
"
|
| 332 |
},
|
| 333 |
-
"kind": "
|
| 334 |
-
"source": "unet.up_blocks.
|
| 335 |
-
"target": "
|
| 336 |
},
|
| 337 |
{
|
| 338 |
"details": {
|
| 339 |
-
"
|
| 340 |
},
|
| 341 |
-
"kind": "
|
| 342 |
-
"source": "unet.up_blocks.
|
| 343 |
-
"target": "
|
| 344 |
},
|
| 345 |
{
|
| 346 |
"details": {
|
| 347 |
-
"
|
| 348 |
},
|
| 349 |
-
"kind": "
|
| 350 |
-
"source": "unet.up_blocks.1.layers.
|
| 351 |
-
"target": "
|
| 352 |
},
|
| 353 |
{
|
| 354 |
"details": {
|
| 355 |
-
"
|
| 356 |
},
|
| 357 |
-
"kind": "
|
| 358 |
-
"source": "unet.up_blocks.1.layers.
|
| 359 |
-
"target": "
|
| 360 |
},
|
| 361 |
{
|
| 362 |
"details": {
|
| 363 |
-
"
|
| 364 |
},
|
| 365 |
-
"kind": "
|
| 366 |
-
"source": "unet.up_blocks.1.layers.
|
| 367 |
-
"target": "
|
| 368 |
},
|
| 369 |
{
|
| 370 |
"details": {
|
| 371 |
-
"
|
| 372 |
},
|
| 373 |
-
"kind": "
|
| 374 |
-
"source": "unet.up_blocks.1.layers.
|
| 375 |
-
"target": "
|
| 376 |
},
|
| 377 |
{
|
| 378 |
"details": {
|
| 379 |
-
"
|
| 380 |
},
|
| 381 |
-
"kind": "
|
| 382 |
-
"source": "unet.up_blocks.
|
| 383 |
-
"target": "
|
| 384 |
},
|
| 385 |
{
|
| 386 |
"details": {
|
| 387 |
-
"
|
| 388 |
},
|
| 389 |
-
"kind": "
|
| 390 |
-
"source": "unet.up_blocks.
|
| 391 |
-
"target": "
|
| 392 |
},
|
| 393 |
{
|
| 394 |
"details": {
|
| 395 |
-
"
|
| 396 |
},
|
| 397 |
-
"kind": "
|
| 398 |
-
"source": "unet.up_blocks.2.layers.
|
| 399 |
-
"target": "
|
| 400 |
},
|
| 401 |
{
|
| 402 |
"details": {
|
| 403 |
-
"
|
| 404 |
},
|
| 405 |
-
"kind": "
|
| 406 |
-
"source": "unet.up_blocks.2.layers.
|
| 407 |
-
"target": "
|
| 408 |
},
|
| 409 |
{
|
| 410 |
"details": {
|
| 411 |
-
"
|
| 412 |
},
|
| 413 |
-
"kind": "
|
| 414 |
-
"source": "unet.up_blocks.2.layers.
|
| 415 |
-
"target": "
|
| 416 |
},
|
| 417 |
{
|
| 418 |
"details": {
|
| 419 |
-
"
|
| 420 |
},
|
| 421 |
-
"kind": "
|
| 422 |
-
"source": "unet.up_blocks.2.layers.
|
| 423 |
-
"target": "
|
| 424 |
},
|
| 425 |
{
|
| 426 |
"details": {
|
| 427 |
-
"
|
| 428 |
},
|
| 429 |
-
"kind": "
|
| 430 |
-
"source": "unet.
|
| 431 |
-
"target": "
|
| 432 |
},
|
| 433 |
{
|
| 434 |
"details": {
|
| 435 |
-
"
|
| 436 |
},
|
| 437 |
-
"kind": "
|
| 438 |
-
"source": "unet.
|
| 439 |
-
"target": "
|
| 440 |
},
|
| 441 |
{
|
| 442 |
"details": {
|
| 443 |
-
"
|
| 444 |
},
|
| 445 |
-
"kind": "
|
| 446 |
-
"source": "unet.upsamplers.
|
| 447 |
-
"target": "
|
| 448 |
},
|
| 449 |
{
|
| 450 |
"details": {
|
| 451 |
-
"
|
| 452 |
},
|
| 453 |
-
"kind": "
|
| 454 |
-
"source": "unet.upsamplers.
|
| 455 |
-
"target": "
|
| 456 |
},
|
| 457 |
{
|
| 458 |
"details": {
|
| 459 |
-
"
|
| 460 |
},
|
| 461 |
-
"kind": "
|
| 462 |
-
"source": "unet.upsamplers.
|
| 463 |
-
"target": "
|
| 464 |
},
|
| 465 |
{
|
| 466 |
"details": {
|
| 467 |
-
"
|
| 468 |
},
|
| 469 |
-
"kind": "
|
| 470 |
-
"source": "unet.upsamplers.
|
| 471 |
-
"target": "
|
| 472 |
},
|
| 473 |
{
|
| 474 |
"details": {
|
| 475 |
-
"
|
| 476 |
},
|
| 477 |
-
"kind": "
|
| 478 |
-
"source": "unet.
|
| 479 |
-
"target": "
|
| 480 |
},
|
| 481 |
{
|
| 482 |
"details": {
|
| 483 |
-
"
|
| 484 |
},
|
| 485 |
-
"kind": "
|
| 486 |
-
"source": "unet.
|
| 487 |
-
"target": "
|
| 488 |
}
|
| 489 |
],
|
| 490 |
-
"
|
|
|
|
|
|
|
| 491 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"construction_fingerprint": "sha256:644b162de70d014f9273c992fd583ee4fdfb8ae425a35fba26b3fbd41d560f28",
|
| 3 |
"environment": {
|
| 4 |
+
"platform": "Windows-11-10.0.22631-SP0",
|
| 5 |
+
"python": "3.12.13",
|
| 6 |
+
"pytorch_lightning": "2.6.5",
|
| 7 |
+
"safetensors": "0.8.0",
|
| 8 |
+
"scitomo": "0.7.3.dev0",
|
| 9 |
+
"scitomo_commit": "2832957f69daff0d7baec5df17a7c54954623eed",
|
| 10 |
+
"torch": "2.12.1+cpu"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
},
|
| 12 |
+
"inference_fingerprint": "sha256:dd4d9b190f9e3a0c94a0da2d383f5dc42aaa0ac888dcec760d57b4cf5362aabd",
|
| 13 |
"kind": "scitomo_checkpoint_conversion",
|
| 14 |
"package_id": "deepdewedge_tutorial",
|
| 15 |
+
"package_revision": 3,
|
| 16 |
+
"schema_version": 2,
|
| 17 |
"source": {
|
| 18 |
+
"identifier": "45582309/tutorial_data/fitted_model.ckpt",
|
| 19 |
+
"kind": "figshare_checkpoint",
|
| 20 |
"metadata": {
|
| 21 |
+
"archive_member": "tutorial_data/fitted_model.ckpt",
|
| 22 |
"archive_sha256": "7c871342e51f5a66a773fe427d72944b5d2cc8ff41c5b7415ab38dbfc9ac6d58",
|
|
|
|
| 23 |
"checkpoint_size_bytes": 327952642,
|
| 24 |
+
"upstream_repository": "https://github.com/MLI-lab/DeepDeWedge"
|
| 25 |
},
|
| 26 |
"project": "DeepDeWedge Tutorial Data",
|
| 27 |
+
"revision": "072075692a44a8f17394214369e6e762abe52bc3",
|
| 28 |
"sha256": "5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76",
|
| 29 |
+
"url": "https://doi.org/10.6084/m9.figshare.25043435.v1"
|
| 30 |
},
|
| 31 |
+
"tensor_mappings": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
{
|
| 33 |
"details": {
|
| 34 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 35 |
},
|
| 36 |
+
"kind": "identity",
|
| 37 |
+
"source": "state_dict.unet.bottleneck.0.bias",
|
| 38 |
+
"target": "bottleneck_conv_0.bias"
|
| 39 |
},
|
| 40 |
{
|
| 41 |
"details": {
|
| 42 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 43 |
},
|
| 44 |
+
"kind": "identity",
|
| 45 |
+
"source": "state_dict.unet.bottleneck.0.weight",
|
| 46 |
+
"target": "bottleneck_conv_0.weight"
|
| 47 |
},
|
| 48 |
{
|
| 49 |
"details": {
|
| 50 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 51 |
},
|
| 52 |
+
"kind": "rename",
|
| 53 |
+
"source": "state_dict.unet.bottleneck.2.bias",
|
| 54 |
+
"target": "bottleneck_conv_1.bias"
|
| 55 |
},
|
| 56 |
{
|
| 57 |
"details": {
|
| 58 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 59 |
},
|
| 60 |
+
"kind": "rename",
|
| 61 |
+
"source": "state_dict.unet.bottleneck.2.weight",
|
| 62 |
+
"target": "bottleneck_conv_1.weight"
|
| 63 |
},
|
| 64 |
{
|
| 65 |
"details": {
|
| 66 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 67 |
},
|
| 68 |
+
"kind": "identity",
|
| 69 |
+
"source": "state_dict.unet.down_blocks.0.layers.0.bias",
|
| 70 |
+
"target": "down_0_conv_0.bias"
|
| 71 |
},
|
| 72 |
{
|
| 73 |
"details": {
|
| 74 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 75 |
},
|
| 76 |
+
"kind": "identity",
|
| 77 |
+
"source": "state_dict.unet.down_blocks.0.layers.0.weight",
|
| 78 |
+
"target": "down_0_conv_0.weight"
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"details": {
|
| 82 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 83 |
},
|
| 84 |
+
"kind": "identity",
|
| 85 |
+
"source": "state_dict.unet.down_blocks.0.layers.4.bias",
|
| 86 |
+
"target": "down_0_conv_1.bias"
|
| 87 |
},
|
| 88 |
{
|
| 89 |
"details": {
|
| 90 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 91 |
},
|
| 92 |
+
"kind": "identity",
|
| 93 |
+
"source": "state_dict.unet.down_blocks.0.layers.4.weight",
|
| 94 |
+
"target": "down_0_conv_1.weight"
|
| 95 |
},
|
| 96 |
{
|
| 97 |
"details": {
|
| 98 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 99 |
},
|
| 100 |
+
"kind": "identity",
|
| 101 |
+
"source": "state_dict.unet.down_blocks.0.layers.8.bias",
|
| 102 |
+
"target": "down_0_conv_2.bias"
|
| 103 |
},
|
| 104 |
{
|
| 105 |
"details": {
|
| 106 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 107 |
},
|
| 108 |
+
"kind": "identity",
|
| 109 |
+
"source": "state_dict.unet.down_blocks.0.layers.8.weight",
|
| 110 |
+
"target": "down_0_conv_2.weight"
|
| 111 |
},
|
| 112 |
{
|
| 113 |
"details": {
|
| 114 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 115 |
},
|
| 116 |
+
"kind": "identity",
|
| 117 |
+
"source": "state_dict.unet.down_blocks.1.layers.0.bias",
|
| 118 |
+
"target": "down_1_conv_0.bias"
|
| 119 |
},
|
| 120 |
{
|
| 121 |
"details": {
|
| 122 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 123 |
},
|
| 124 |
+
"kind": "identity",
|
| 125 |
+
"source": "state_dict.unet.down_blocks.1.layers.0.weight",
|
| 126 |
+
"target": "down_1_conv_0.weight"
|
| 127 |
},
|
| 128 |
{
|
| 129 |
"details": {
|
| 130 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 131 |
},
|
| 132 |
+
"kind": "identity",
|
| 133 |
+
"source": "state_dict.unet.down_blocks.1.layers.4.bias",
|
| 134 |
+
"target": "down_1_conv_1.bias"
|
| 135 |
},
|
| 136 |
{
|
| 137 |
"details": {
|
| 138 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 139 |
},
|
| 140 |
+
"kind": "identity",
|
| 141 |
+
"source": "state_dict.unet.down_blocks.1.layers.4.weight",
|
| 142 |
+
"target": "down_1_conv_1.weight"
|
| 143 |
},
|
| 144 |
{
|
| 145 |
"details": {
|
| 146 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 147 |
},
|
| 148 |
+
"kind": "identity",
|
| 149 |
+
"source": "state_dict.unet.down_blocks.1.layers.8.bias",
|
| 150 |
+
"target": "down_1_conv_2.bias"
|
| 151 |
},
|
| 152 |
{
|
| 153 |
"details": {
|
| 154 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 155 |
},
|
| 156 |
+
"kind": "identity",
|
| 157 |
+
"source": "state_dict.unet.down_blocks.1.layers.8.weight",
|
| 158 |
+
"target": "down_1_conv_2.weight"
|
| 159 |
},
|
| 160 |
{
|
| 161 |
"details": {
|
| 162 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 163 |
},
|
| 164 |
+
"kind": "identity",
|
| 165 |
+
"source": "state_dict.unet.down_blocks.2.layers.0.bias",
|
| 166 |
+
"target": "down_2_conv_0.bias"
|
| 167 |
},
|
| 168 |
{
|
| 169 |
"details": {
|
| 170 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 171 |
},
|
| 172 |
+
"kind": "identity",
|
| 173 |
+
"source": "state_dict.unet.down_blocks.2.layers.0.weight",
|
| 174 |
+
"target": "down_2_conv_0.weight"
|
| 175 |
},
|
| 176 |
{
|
| 177 |
"details": {
|
| 178 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 179 |
},
|
| 180 |
+
"kind": "identity",
|
| 181 |
+
"source": "state_dict.unet.down_blocks.2.layers.4.bias",
|
| 182 |
+
"target": "down_2_conv_1.bias"
|
| 183 |
},
|
| 184 |
{
|
| 185 |
"details": {
|
| 186 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 187 |
},
|
| 188 |
+
"kind": "identity",
|
| 189 |
+
"source": "state_dict.unet.down_blocks.2.layers.4.weight",
|
| 190 |
+
"target": "down_2_conv_1.weight"
|
| 191 |
},
|
| 192 |
{
|
| 193 |
"details": {
|
| 194 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 195 |
},
|
| 196 |
+
"kind": "identity",
|
| 197 |
+
"source": "state_dict.unet.down_blocks.2.layers.8.bias",
|
| 198 |
+
"target": "down_2_conv_2.bias"
|
| 199 |
},
|
| 200 |
{
|
| 201 |
"details": {
|
| 202 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 203 |
},
|
| 204 |
+
"kind": "identity",
|
| 205 |
+
"source": "state_dict.unet.down_blocks.2.layers.8.weight",
|
| 206 |
+
"target": "down_2_conv_2.weight"
|
| 207 |
},
|
| 208 |
{
|
| 209 |
"details": {
|
| 210 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 211 |
},
|
| 212 |
+
"kind": "identity",
|
| 213 |
+
"source": "state_dict.unet.down_samplers.0.layers.0.bias",
|
| 214 |
+
"target": "downsample_0.bias"
|
| 215 |
},
|
| 216 |
{
|
| 217 |
"details": {
|
| 218 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 219 |
},
|
| 220 |
+
"kind": "identity",
|
| 221 |
+
"source": "state_dict.unet.down_samplers.0.layers.0.weight",
|
| 222 |
+
"target": "downsample_0.weight"
|
| 223 |
},
|
| 224 |
{
|
| 225 |
"details": {
|
| 226 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 227 |
},
|
| 228 |
+
"kind": "identity",
|
| 229 |
+
"source": "state_dict.unet.down_samplers.1.layers.0.bias",
|
| 230 |
+
"target": "downsample_1.bias"
|
| 231 |
},
|
| 232 |
{
|
| 233 |
"details": {
|
| 234 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 235 |
},
|
| 236 |
+
"kind": "identity",
|
| 237 |
+
"source": "state_dict.unet.down_samplers.1.layers.0.weight",
|
| 238 |
+
"target": "downsample_1.weight"
|
| 239 |
},
|
| 240 |
{
|
| 241 |
"details": {
|
| 242 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 243 |
},
|
| 244 |
+
"kind": "identity",
|
| 245 |
+
"source": "state_dict.unet.down_samplers.2.layers.0.bias",
|
| 246 |
+
"target": "downsample_2.bias"
|
| 247 |
},
|
| 248 |
{
|
| 249 |
"details": {
|
| 250 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 251 |
},
|
| 252 |
+
"kind": "identity",
|
| 253 |
+
"source": "state_dict.unet.down_samplers.2.layers.0.weight",
|
| 254 |
+
"target": "downsample_2.weight"
|
| 255 |
},
|
| 256 |
{
|
| 257 |
"details": {
|
| 258 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 259 |
},
|
| 260 |
+
"kind": "identity",
|
| 261 |
+
"source": "state_dict.unet.final_conv.bias",
|
| 262 |
+
"target": "final_conv.bias"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
},
|
| 264 |
{
|
| 265 |
"details": {
|
| 266 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 267 |
},
|
| 268 |
+
"kind": "identity",
|
| 269 |
+
"source": "state_dict.unet.final_conv.weight",
|
| 270 |
+
"target": "final_conv.weight"
|
| 271 |
},
|
| 272 |
{
|
| 273 |
"details": {
|
| 274 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 275 |
},
|
| 276 |
+
"kind": "identity",
|
| 277 |
+
"source": "state_dict.unet.up_blocks.0.layers.0.bias",
|
| 278 |
+
"target": "up_0_conv_0.bias"
|
| 279 |
},
|
| 280 |
{
|
| 281 |
"details": {
|
| 282 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 283 |
},
|
| 284 |
+
"kind": "identity",
|
| 285 |
+
"source": "state_dict.unet.up_blocks.0.layers.0.weight",
|
| 286 |
+
"target": "up_0_conv_0.weight"
|
| 287 |
},
|
| 288 |
{
|
| 289 |
"details": {
|
| 290 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 291 |
},
|
| 292 |
+
"kind": "identity",
|
| 293 |
+
"source": "state_dict.unet.up_blocks.0.layers.4.bias",
|
| 294 |
+
"target": "up_0_conv_1.bias"
|
| 295 |
},
|
| 296 |
{
|
| 297 |
"details": {
|
| 298 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 299 |
},
|
| 300 |
+
"kind": "identity",
|
| 301 |
+
"source": "state_dict.unet.up_blocks.0.layers.4.weight",
|
| 302 |
+
"target": "up_0_conv_1.weight"
|
| 303 |
},
|
| 304 |
{
|
| 305 |
"details": {
|
| 306 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 307 |
},
|
| 308 |
+
"kind": "identity",
|
| 309 |
+
"source": "state_dict.unet.up_blocks.0.layers.8.bias",
|
| 310 |
+
"target": "up_0_conv_2.bias"
|
| 311 |
},
|
| 312 |
{
|
| 313 |
"details": {
|
| 314 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 315 |
},
|
| 316 |
+
"kind": "identity",
|
| 317 |
+
"source": "state_dict.unet.up_blocks.0.layers.8.weight",
|
| 318 |
+
"target": "up_0_conv_2.weight"
|
| 319 |
},
|
| 320 |
{
|
| 321 |
"details": {
|
| 322 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 323 |
},
|
| 324 |
+
"kind": "identity",
|
| 325 |
+
"source": "state_dict.unet.up_blocks.1.layers.0.bias",
|
| 326 |
+
"target": "up_1_conv_0.bias"
|
| 327 |
},
|
| 328 |
{
|
| 329 |
"details": {
|
| 330 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 331 |
},
|
| 332 |
+
"kind": "identity",
|
| 333 |
+
"source": "state_dict.unet.up_blocks.1.layers.0.weight",
|
| 334 |
+
"target": "up_1_conv_0.weight"
|
| 335 |
},
|
| 336 |
{
|
| 337 |
"details": {
|
| 338 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 339 |
},
|
| 340 |
+
"kind": "identity",
|
| 341 |
+
"source": "state_dict.unet.up_blocks.1.layers.4.bias",
|
| 342 |
+
"target": "up_1_conv_1.bias"
|
| 343 |
},
|
| 344 |
{
|
| 345 |
"details": {
|
| 346 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 347 |
},
|
| 348 |
+
"kind": "identity",
|
| 349 |
+
"source": "state_dict.unet.up_blocks.1.layers.4.weight",
|
| 350 |
+
"target": "up_1_conv_1.weight"
|
| 351 |
},
|
| 352 |
{
|
| 353 |
"details": {
|
| 354 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 355 |
},
|
| 356 |
+
"kind": "identity",
|
| 357 |
+
"source": "state_dict.unet.up_blocks.1.layers.8.bias",
|
| 358 |
+
"target": "up_1_conv_2.bias"
|
| 359 |
},
|
| 360 |
{
|
| 361 |
"details": {
|
| 362 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 363 |
},
|
| 364 |
+
"kind": "identity",
|
| 365 |
+
"source": "state_dict.unet.up_blocks.1.layers.8.weight",
|
| 366 |
+
"target": "up_1_conv_2.weight"
|
| 367 |
},
|
| 368 |
{
|
| 369 |
"details": {
|
| 370 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 371 |
},
|
| 372 |
+
"kind": "identity",
|
| 373 |
+
"source": "state_dict.unet.up_blocks.2.layers.0.bias",
|
| 374 |
+
"target": "up_2_conv_0.bias"
|
| 375 |
},
|
| 376 |
{
|
| 377 |
"details": {
|
| 378 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 379 |
},
|
| 380 |
+
"kind": "identity",
|
| 381 |
+
"source": "state_dict.unet.up_blocks.2.layers.0.weight",
|
| 382 |
+
"target": "up_2_conv_0.weight"
|
| 383 |
},
|
| 384 |
{
|
| 385 |
"details": {
|
| 386 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 387 |
},
|
| 388 |
+
"kind": "identity",
|
| 389 |
+
"source": "state_dict.unet.up_blocks.2.layers.4.bias",
|
| 390 |
+
"target": "up_2_conv_1.bias"
|
| 391 |
},
|
| 392 |
{
|
| 393 |
"details": {
|
| 394 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 395 |
},
|
| 396 |
+
"kind": "identity",
|
| 397 |
+
"source": "state_dict.unet.up_blocks.2.layers.4.weight",
|
| 398 |
+
"target": "up_2_conv_1.weight"
|
| 399 |
},
|
| 400 |
{
|
| 401 |
"details": {
|
| 402 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 403 |
},
|
| 404 |
+
"kind": "identity",
|
| 405 |
+
"source": "state_dict.unet.up_blocks.2.layers.8.bias",
|
| 406 |
+
"target": "up_2_conv_2.bias"
|
| 407 |
},
|
| 408 |
{
|
| 409 |
"details": {
|
| 410 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 411 |
},
|
| 412 |
+
"kind": "identity",
|
| 413 |
+
"source": "state_dict.unet.up_blocks.2.layers.8.weight",
|
| 414 |
+
"target": "up_2_conv_2.weight"
|
| 415 |
},
|
| 416 |
{
|
| 417 |
"details": {
|
| 418 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 419 |
},
|
| 420 |
+
"kind": "identity",
|
| 421 |
+
"source": "state_dict.unet.upsamplers.0.tconv.bias",
|
| 422 |
+
"target": "upsample_0.bias"
|
| 423 |
},
|
| 424 |
{
|
| 425 |
"details": {
|
| 426 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 427 |
},
|
| 428 |
+
"kind": "identity",
|
| 429 |
+
"source": "state_dict.unet.upsamplers.0.tconv.weight",
|
| 430 |
+
"target": "upsample_0.weight"
|
| 431 |
},
|
| 432 |
{
|
| 433 |
"details": {
|
| 434 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 435 |
},
|
| 436 |
+
"kind": "identity",
|
| 437 |
+
"source": "state_dict.unet.upsamplers.1.tconv.bias",
|
| 438 |
+
"target": "upsample_1.bias"
|
| 439 |
},
|
| 440 |
{
|
| 441 |
"details": {
|
| 442 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 443 |
},
|
| 444 |
+
"kind": "identity",
|
| 445 |
+
"source": "state_dict.unet.upsamplers.1.tconv.weight",
|
| 446 |
+
"target": "upsample_1.weight"
|
| 447 |
},
|
| 448 |
{
|
| 449 |
"details": {
|
| 450 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 451 |
},
|
| 452 |
+
"kind": "identity",
|
| 453 |
+
"source": "state_dict.unet.upsamplers.2.tconv.bias",
|
| 454 |
+
"target": "upsample_2.bias"
|
| 455 |
},
|
| 456 |
{
|
| 457 |
"details": {
|
| 458 |
+
"source_checkpoint": "tutorial_data/fitted_model.ckpt"
|
| 459 |
},
|
| 460 |
+
"kind": "identity",
|
| 461 |
+
"source": "state_dict.unet.upsamplers.2.tconv.weight",
|
| 462 |
+
"target": "upsample_2.weight"
|
| 463 |
}
|
| 464 |
],
|
| 465 |
+
"tool": "deepdewedge_refresh_format2",
|
| 466 |
+
"tool_version": "1",
|
| 467 |
+
"weights_sha256": "e8f51c499d6e5c14ddce45d5cf9935511220de161ce62deb50a2c3a8cae5c731"
|
| 468 |
}
|
inference.json
CHANGED
|
@@ -1,34 +1,43 @@
|
|
| 1 |
{
|
| 2 |
-
"fingerprint": "sha256:
|
| 3 |
"kind": "scitomo_inference_profile",
|
| 4 |
-
"
|
| 5 |
"family": "restoration",
|
| 6 |
-
"kind": "
|
|
|
|
| 7 |
},
|
| 8 |
"profile": {
|
| 9 |
-
"
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
},
|
| 33 |
-
"schema_version":
|
| 34 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"fingerprint": "sha256:dd4d9b190f9e3a0c94a0da2d383f5dc42aaa0ac888dcec760d57b4cf5362aabd",
|
| 3 |
"kind": "scitomo_inference_profile",
|
| 4 |
+
"owner": {
|
| 5 |
"family": "restoration",
|
| 6 |
+
"kind": "method",
|
| 7 |
+
"method_kind": "deepdewedge"
|
| 8 |
},
|
| 9 |
"profile": {
|
| 10 |
+
"contract": {
|
| 11 |
+
"channel_semantics": "single_scalar_volume",
|
| 12 |
+
"coverage_padding": "trailing_reflection",
|
| 13 |
+
"full_tomogram_standardization": false,
|
| 14 |
+
"input_layout": "(..., Z, Y, X)",
|
| 15 |
+
"kind": "deepdewedge_inference_contract",
|
| 16 |
+
"missing_wedge_full_width_deg": 50.0,
|
| 17 |
+
"missing_wedge_preconditioning": "fourier_mask_each_half",
|
| 18 |
+
"network_layout": "(..., C, Z, Y, X)",
|
| 19 |
+
"output_scaling": "checkpoint_fitted_network_affine",
|
| 20 |
+
"overlap": [
|
| 21 |
+
32,
|
| 22 |
+
32,
|
| 23 |
+
32
|
| 24 |
+
],
|
| 25 |
+
"pair_combination": "mean",
|
| 26 |
+
"paired_half_semantics": "refine_each_half_then_mean",
|
| 27 |
+
"patch_shape": [
|
| 28 |
+
96,
|
| 29 |
+
96,
|
| 30 |
+
96
|
| 31 |
+
],
|
| 32 |
+
"preconditioning_normalization_policy": "recompute_patch_statistics",
|
| 33 |
+
"reassembly": "linear_ramp_weighted_mean"
|
| 34 |
+
},
|
| 35 |
+
"fitted": {
|
| 36 |
+
"kind": "deepdewedge_fitted_inference",
|
| 37 |
+
"network_affine_loc": -0.1489875167608261,
|
| 38 |
+
"network_affine_scale": 1.3237642049789429
|
| 39 |
+
},
|
| 40 |
+
"kind": "deepdewedge_inference"
|
| 41 |
},
|
| 42 |
+
"schema_version": 3
|
| 43 |
}
|
manifest.json
CHANGED
|
@@ -1,30 +1,26 @@
|
|
| 1 |
{
|
|
|
|
| 2 |
"files": {
|
| 3 |
"construction": {
|
| 4 |
"path": "construction.json",
|
| 5 |
-
"sha256": "
|
| 6 |
-
"size_bytes":
|
| 7 |
},
|
| 8 |
"conversion": {
|
| 9 |
"path": "conversion/conversion-record.json",
|
| 10 |
-
"sha256": "
|
| 11 |
-
"size_bytes":
|
| 12 |
},
|
| 13 |
"inference": {
|
| 14 |
"path": "inference.json",
|
| 15 |
-
"sha256": "
|
| 16 |
-
"size_bytes":
|
| 17 |
-
},
|
| 18 |
-
"migration": {
|
| 19 |
-
"path": "migration/migration-record.json",
|
| 20 |
-
"sha256": "fdabc791f22826bc13622199c73890cb05f89cc7797ae9c62ea5fd40f1f4fd4d",
|
| 21 |
-
"size_bytes": 1518
|
| 22 |
},
|
| 23 |
"resources": [
|
| 24 |
{
|
| 25 |
"path": "ATTRIBUTION.md",
|
| 26 |
-
"sha256": "
|
| 27 |
-
"size_bytes":
|
| 28 |
},
|
| 29 |
{
|
| 30 |
"path": "LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt",
|
|
@@ -32,96 +28,70 @@
|
|
| 32 |
"size_bytes": 1343
|
| 33 |
},
|
| 34 |
{
|
| 35 |
-
"path": "
|
| 36 |
-
"sha256": "
|
| 37 |
-
"size_bytes":
|
| 38 |
},
|
| 39 |
{
|
| 40 |
-
"path": "
|
| 41 |
-
"sha256": "
|
| 42 |
-
"size_bytes":
|
| 43 |
}
|
| 44 |
],
|
| 45 |
"validation": {
|
| 46 |
"path": "validation/validation-record.json",
|
| 47 |
-
"sha256": "
|
| 48 |
-
"size_bytes":
|
| 49 |
},
|
| 50 |
"weights": {
|
| 51 |
"path": "weights.safetensors",
|
| 52 |
-
"sha256": "
|
| 53 |
-
"size_bytes":
|
| 54 |
}
|
| 55 |
},
|
|
|
|
| 56 |
"kind": "scitomo_learned_checkpoint",
|
| 57 |
-
"
|
| 58 |
"family": "restoration",
|
| 59 |
-
"kind": "
|
|
|
|
| 60 |
},
|
| 61 |
"package_id": "deepdewedge_tutorial",
|
| 62 |
-
"package_revision":
|
| 63 |
"provenance": {
|
| 64 |
"citations": [
|
| 65 |
-
"
|
| 66 |
-
"
|
| 67 |
-
],
|
| 68 |
-
"licenses": [
|
| 69 |
-
{
|
| 70 |
-
"identifier": "BSD-2-Clause",
|
| 71 |
-
"path": "LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt",
|
| 72 |
-
"redistribution": "approved",
|
| 73 |
-
"subject": "code"
|
| 74 |
-
},
|
| 75 |
-
{
|
| 76 |
-
"identifier": "CC-BY-4.0",
|
| 77 |
-
"path": "LICENSES/DeepDeWedge-Tutorial-Data-CC-BY-4.0.txt",
|
| 78 |
-
"redistribution": "approved",
|
| 79 |
-
"subject": "weights"
|
| 80 |
-
}
|
| 81 |
],
|
|
|
|
| 82 |
"sources": [
|
| 83 |
{
|
| 84 |
-
"identifier": "
|
| 85 |
-
"kind": "
|
| 86 |
-
"metadata": {
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
},
|
| 92 |
-
"project": "DeepDeWedge Tutorial Data",
|
| 93 |
-
"revision": "1",
|
| 94 |
-
"sha256": "5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76",
|
| 95 |
-
"url": "https://ndownloader.figshare.com/files/45582309"
|
| 96 |
}
|
| 97 |
]
|
| 98 |
},
|
| 99 |
"requirements": {
|
| 100 |
-
"learned_checkpoint_format":
|
| 101 |
-
"minimum_scitomo_version": "0.
|
| 102 |
},
|
| 103 |
-
"schema_version":
|
| 104 |
"tensors": [
|
| 105 |
{
|
| 106 |
"dtype": "float32",
|
| 107 |
-
"name": "
|
| 108 |
-
"shape": []
|
| 109 |
-
},
|
| 110 |
-
{
|
| 111 |
-
"dtype": "float32",
|
| 112 |
-
"name": "_normalization_scale",
|
| 113 |
-
"shape": []
|
| 114 |
-
},
|
| 115 |
-
{
|
| 116 |
-
"dtype": "float32",
|
| 117 |
-
"name": "bottleneck.0.bias",
|
| 118 |
"shape": [
|
| 119 |
512
|
| 120 |
]
|
| 121 |
},
|
| 122 |
{
|
| 123 |
"dtype": "float32",
|
| 124 |
-
"name": "
|
| 125 |
"shape": [
|
| 126 |
512,
|
| 127 |
256,
|
|
@@ -132,14 +102,14 @@
|
|
| 132 |
},
|
| 133 |
{
|
| 134 |
"dtype": "float32",
|
| 135 |
-
"name": "
|
| 136 |
"shape": [
|
| 137 |
256
|
| 138 |
]
|
| 139 |
},
|
| 140 |
{
|
| 141 |
"dtype": "float32",
|
| 142 |
-
"name": "
|
| 143 |
"shape": [
|
| 144 |
256,
|
| 145 |
512,
|
|
@@ -150,14 +120,14 @@
|
|
| 150 |
},
|
| 151 |
{
|
| 152 |
"dtype": "float32",
|
| 153 |
-
"name": "
|
| 154 |
"shape": [
|
| 155 |
64
|
| 156 |
]
|
| 157 |
},
|
| 158 |
{
|
| 159 |
"dtype": "float32",
|
| 160 |
-
"name": "
|
| 161 |
"shape": [
|
| 162 |
64,
|
| 163 |
1,
|
|
@@ -168,14 +138,14 @@
|
|
| 168 |
},
|
| 169 |
{
|
| 170 |
"dtype": "float32",
|
| 171 |
-
"name": "
|
| 172 |
"shape": [
|
| 173 |
64
|
| 174 |
]
|
| 175 |
},
|
| 176 |
{
|
| 177 |
"dtype": "float32",
|
| 178 |
-
"name": "
|
| 179 |
"shape": [
|
| 180 |
64,
|
| 181 |
64,
|
|
@@ -186,14 +156,14 @@
|
|
| 186 |
},
|
| 187 |
{
|
| 188 |
"dtype": "float32",
|
| 189 |
-
"name": "
|
| 190 |
"shape": [
|
| 191 |
64
|
| 192 |
]
|
| 193 |
},
|
| 194 |
{
|
| 195 |
"dtype": "float32",
|
| 196 |
-
"name": "
|
| 197 |
"shape": [
|
| 198 |
64,
|
| 199 |
64,
|
|
@@ -204,14 +174,14 @@
|
|
| 204 |
},
|
| 205 |
{
|
| 206 |
"dtype": "float32",
|
| 207 |
-
"name": "
|
| 208 |
"shape": [
|
| 209 |
128
|
| 210 |
]
|
| 211 |
},
|
| 212 |
{
|
| 213 |
"dtype": "float32",
|
| 214 |
-
"name": "
|
| 215 |
"shape": [
|
| 216 |
128,
|
| 217 |
64,
|
|
@@ -222,14 +192,14 @@
|
|
| 222 |
},
|
| 223 |
{
|
| 224 |
"dtype": "float32",
|
| 225 |
-
"name": "
|
| 226 |
"shape": [
|
| 227 |
128
|
| 228 |
]
|
| 229 |
},
|
| 230 |
{
|
| 231 |
"dtype": "float32",
|
| 232 |
-
"name": "
|
| 233 |
"shape": [
|
| 234 |
128,
|
| 235 |
128,
|
|
@@ -240,14 +210,14 @@
|
|
| 240 |
},
|
| 241 |
{
|
| 242 |
"dtype": "float32",
|
| 243 |
-
"name": "
|
| 244 |
"shape": [
|
| 245 |
128
|
| 246 |
]
|
| 247 |
},
|
| 248 |
{
|
| 249 |
"dtype": "float32",
|
| 250 |
-
"name": "
|
| 251 |
"shape": [
|
| 252 |
128,
|
| 253 |
128,
|
|
@@ -258,14 +228,14 @@
|
|
| 258 |
},
|
| 259 |
{
|
| 260 |
"dtype": "float32",
|
| 261 |
-
"name": "
|
| 262 |
"shape": [
|
| 263 |
256
|
| 264 |
]
|
| 265 |
},
|
| 266 |
{
|
| 267 |
"dtype": "float32",
|
| 268 |
-
"name": "
|
| 269 |
"shape": [
|
| 270 |
256,
|
| 271 |
128,
|
|
@@ -276,14 +246,14 @@
|
|
| 276 |
},
|
| 277 |
{
|
| 278 |
"dtype": "float32",
|
| 279 |
-
"name": "
|
| 280 |
"shape": [
|
| 281 |
256
|
| 282 |
]
|
| 283 |
},
|
| 284 |
{
|
| 285 |
"dtype": "float32",
|
| 286 |
-
"name": "
|
| 287 |
"shape": [
|
| 288 |
256,
|
| 289 |
256,
|
|
@@ -294,14 +264,14 @@
|
|
| 294 |
},
|
| 295 |
{
|
| 296 |
"dtype": "float32",
|
| 297 |
-
"name": "
|
| 298 |
"shape": [
|
| 299 |
256
|
| 300 |
]
|
| 301 |
},
|
| 302 |
{
|
| 303 |
"dtype": "float32",
|
| 304 |
-
"name": "
|
| 305 |
"shape": [
|
| 306 |
256,
|
| 307 |
256,
|
|
@@ -312,14 +282,14 @@
|
|
| 312 |
},
|
| 313 |
{
|
| 314 |
"dtype": "float32",
|
| 315 |
-
"name": "
|
| 316 |
"shape": [
|
| 317 |
64
|
| 318 |
]
|
| 319 |
},
|
| 320 |
{
|
| 321 |
"dtype": "float32",
|
| 322 |
-
"name": "
|
| 323 |
"shape": [
|
| 324 |
64,
|
| 325 |
64,
|
|
@@ -330,14 +300,14 @@
|
|
| 330 |
},
|
| 331 |
{
|
| 332 |
"dtype": "float32",
|
| 333 |
-
"name": "
|
| 334 |
"shape": [
|
| 335 |
128
|
| 336 |
]
|
| 337 |
},
|
| 338 |
{
|
| 339 |
"dtype": "float32",
|
| 340 |
-
"name": "
|
| 341 |
"shape": [
|
| 342 |
128,
|
| 343 |
128,
|
|
@@ -348,14 +318,14 @@
|
|
| 348 |
},
|
| 349 |
{
|
| 350 |
"dtype": "float32",
|
| 351 |
-
"name": "
|
| 352 |
"shape": [
|
| 353 |
256
|
| 354 |
]
|
| 355 |
},
|
| 356 |
{
|
| 357 |
"dtype": "float32",
|
| 358 |
-
"name": "
|
| 359 |
"shape": [
|
| 360 |
256,
|
| 361 |
256,
|
|
@@ -384,14 +354,14 @@
|
|
| 384 |
},
|
| 385 |
{
|
| 386 |
"dtype": "float32",
|
| 387 |
-
"name": "
|
| 388 |
"shape": [
|
| 389 |
256
|
| 390 |
]
|
| 391 |
},
|
| 392 |
{
|
| 393 |
"dtype": "float32",
|
| 394 |
-
"name": "
|
| 395 |
"shape": [
|
| 396 |
256,
|
| 397 |
512,
|
|
@@ -402,14 +372,14 @@
|
|
| 402 |
},
|
| 403 |
{
|
| 404 |
"dtype": "float32",
|
| 405 |
-
"name": "
|
| 406 |
"shape": [
|
| 407 |
256
|
| 408 |
]
|
| 409 |
},
|
| 410 |
{
|
| 411 |
"dtype": "float32",
|
| 412 |
-
"name": "
|
| 413 |
"shape": [
|
| 414 |
256,
|
| 415 |
256,
|
|
@@ -420,14 +390,14 @@
|
|
| 420 |
},
|
| 421 |
{
|
| 422 |
"dtype": "float32",
|
| 423 |
-
"name": "
|
| 424 |
"shape": [
|
| 425 |
256
|
| 426 |
]
|
| 427 |
},
|
| 428 |
{
|
| 429 |
"dtype": "float32",
|
| 430 |
-
"name": "
|
| 431 |
"shape": [
|
| 432 |
256,
|
| 433 |
256,
|
|
@@ -438,14 +408,14 @@
|
|
| 438 |
},
|
| 439 |
{
|
| 440 |
"dtype": "float32",
|
| 441 |
-
"name": "
|
| 442 |
"shape": [
|
| 443 |
128
|
| 444 |
]
|
| 445 |
},
|
| 446 |
{
|
| 447 |
"dtype": "float32",
|
| 448 |
-
"name": "
|
| 449 |
"shape": [
|
| 450 |
128,
|
| 451 |
256,
|
|
@@ -456,14 +426,14 @@
|
|
| 456 |
},
|
| 457 |
{
|
| 458 |
"dtype": "float32",
|
| 459 |
-
"name": "
|
| 460 |
"shape": [
|
| 461 |
128
|
| 462 |
]
|
| 463 |
},
|
| 464 |
{
|
| 465 |
"dtype": "float32",
|
| 466 |
-
"name": "
|
| 467 |
"shape": [
|
| 468 |
128,
|
| 469 |
128,
|
|
@@ -474,14 +444,14 @@
|
|
| 474 |
},
|
| 475 |
{
|
| 476 |
"dtype": "float32",
|
| 477 |
-
"name": "
|
| 478 |
"shape": [
|
| 479 |
128
|
| 480 |
]
|
| 481 |
},
|
| 482 |
{
|
| 483 |
"dtype": "float32",
|
| 484 |
-
"name": "
|
| 485 |
"shape": [
|
| 486 |
128,
|
| 487 |
128,
|
|
@@ -492,14 +462,14 @@
|
|
| 492 |
},
|
| 493 |
{
|
| 494 |
"dtype": "float32",
|
| 495 |
-
"name": "
|
| 496 |
"shape": [
|
| 497 |
64
|
| 498 |
]
|
| 499 |
},
|
| 500 |
{
|
| 501 |
"dtype": "float32",
|
| 502 |
-
"name": "
|
| 503 |
"shape": [
|
| 504 |
64,
|
| 505 |
128,
|
|
@@ -510,14 +480,14 @@
|
|
| 510 |
},
|
| 511 |
{
|
| 512 |
"dtype": "float32",
|
| 513 |
-
"name": "
|
| 514 |
"shape": [
|
| 515 |
64
|
| 516 |
]
|
| 517 |
},
|
| 518 |
{
|
| 519 |
"dtype": "float32",
|
| 520 |
-
"name": "
|
| 521 |
"shape": [
|
| 522 |
64,
|
| 523 |
64,
|
|
@@ -528,14 +498,14 @@
|
|
| 528 |
},
|
| 529 |
{
|
| 530 |
"dtype": "float32",
|
| 531 |
-
"name": "
|
| 532 |
"shape": [
|
| 533 |
64
|
| 534 |
]
|
| 535 |
},
|
| 536 |
{
|
| 537 |
"dtype": "float32",
|
| 538 |
-
"name": "
|
| 539 |
"shape": [
|
| 540 |
64,
|
| 541 |
64,
|
|
@@ -546,14 +516,14 @@
|
|
| 546 |
},
|
| 547 |
{
|
| 548 |
"dtype": "float32",
|
| 549 |
-
"name": "
|
| 550 |
"shape": [
|
| 551 |
256
|
| 552 |
]
|
| 553 |
},
|
| 554 |
{
|
| 555 |
"dtype": "float32",
|
| 556 |
-
"name": "
|
| 557 |
"shape": [
|
| 558 |
256,
|
| 559 |
256,
|
|
@@ -564,14 +534,14 @@
|
|
| 564 |
},
|
| 565 |
{
|
| 566 |
"dtype": "float32",
|
| 567 |
-
"name": "
|
| 568 |
"shape": [
|
| 569 |
128
|
| 570 |
]
|
| 571 |
},
|
| 572 |
{
|
| 573 |
"dtype": "float32",
|
| 574 |
-
"name": "
|
| 575 |
"shape": [
|
| 576 |
256,
|
| 577 |
128,
|
|
@@ -582,14 +552,14 @@
|
|
| 582 |
},
|
| 583 |
{
|
| 584 |
"dtype": "float32",
|
| 585 |
-
"name": "
|
| 586 |
"shape": [
|
| 587 |
64
|
| 588 |
]
|
| 589 |
},
|
| 590 |
{
|
| 591 |
"dtype": "float32",
|
| 592 |
-
"name": "
|
| 593 |
"shape": [
|
| 594 |
128,
|
| 595 |
64,
|
|
@@ -599,12 +569,5 @@
|
|
| 599 |
]
|
| 600 |
}
|
| 601 |
],
|
| 602 |
-
"training":
|
| 603 |
-
"base_seed": null,
|
| 604 |
-
"epoch": 999,
|
| 605 |
-
"monitor": null,
|
| 606 |
-
"role": "external",
|
| 607 |
-
"score": null,
|
| 608 |
-
"step": 34000
|
| 609 |
-
}
|
| 610 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"construction_fingerprint": "sha256:644b162de70d014f9273c992fd583ee4fdfb8ae425a35fba26b3fbd41d560f28",
|
| 3 |
"files": {
|
| 4 |
"construction": {
|
| 5 |
"path": "construction.json",
|
| 6 |
+
"sha256": "46f8b7cfe685f5f2468b43c9f54d96b2b074e9c459fcd28378da3177cfd7cd65",
|
| 7 |
+
"size_bytes": 37943
|
| 8 |
},
|
| 9 |
"conversion": {
|
| 10 |
"path": "conversion/conversion-record.json",
|
| 11 |
+
"sha256": "ca5300cc80f144d8dd9c2d9cf618f2ad942ddc6016e048cda2de2c20da37d81d",
|
| 12 |
+
"size_bytes": 13810
|
| 13 |
},
|
| 14 |
"inference": {
|
| 15 |
"path": "inference.json",
|
| 16 |
+
"sha256": "52f6e95eb1f88ae13cabcfb1664dc4e4cfb48570bec636af3527513c85863a7e",
|
| 17 |
+
"size_bytes": 1304
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
},
|
| 19 |
"resources": [
|
| 20 |
{
|
| 21 |
"path": "ATTRIBUTION.md",
|
| 22 |
+
"sha256": "849e0877d2d572b4ba10aabfabe524af3d76254423c034d9bd015fd3a827f98e",
|
| 23 |
+
"size_bytes": 1386
|
| 24 |
},
|
| 25 |
{
|
| 26 |
"path": "LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt",
|
|
|
|
| 28 |
"size_bytes": 1343
|
| 29 |
},
|
| 30 |
{
|
| 31 |
+
"path": "README.md",
|
| 32 |
+
"sha256": "3cffce3987c861bd52a90f5e8c07d16152511b957dc8de4fe79a02da2e270740",
|
| 33 |
+
"size_bytes": 3903
|
| 34 |
},
|
| 35 |
{
|
| 36 |
+
"path": "refresh_format2.py",
|
| 37 |
+
"sha256": "b4c42a1cc2611561077578ee0544d19fdee8d3a48426f0dc44e6dcb61a0ce875",
|
| 38 |
+
"size_bytes": 22531
|
| 39 |
}
|
| 40 |
],
|
| 41 |
"validation": {
|
| 42 |
"path": "validation/validation-record.json",
|
| 43 |
+
"sha256": "bc302bd4e4769044af36867ac66877b022b0e4c2b567551d1a8abf70ff653950",
|
| 44 |
+
"size_bytes": 1660
|
| 45 |
},
|
| 46 |
"weights": {
|
| 47 |
"path": "weights.safetensors",
|
| 48 |
+
"sha256": "e8f51c499d6e5c14ddce45d5cf9935511220de161ce62deb50a2c3a8cae5c731",
|
| 49 |
+
"size_bytes": 109294372
|
| 50 |
}
|
| 51 |
},
|
| 52 |
+
"inference_fingerprint": "sha256:dd4d9b190f9e3a0c94a0da2d383f5dc42aaa0ac888dcec760d57b4cf5362aabd",
|
| 53 |
"kind": "scitomo_learned_checkpoint",
|
| 54 |
+
"owner": {
|
| 55 |
"family": "restoration",
|
| 56 |
+
"kind": "method",
|
| 57 |
+
"method_kind": "deepdewedge"
|
| 58 |
},
|
| 59 |
"package_id": "deepdewedge_tutorial",
|
| 60 |
+
"package_revision": 3,
|
| 61 |
"provenance": {
|
| 62 |
"citations": [
|
| 63 |
+
"https://doi.org/10.1038/s41467-024-51438-y",
|
| 64 |
+
"https://doi.org/10.6084/m9.figshare.25043435.v1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
],
|
| 66 |
+
"licenses": [],
|
| 67 |
"sources": [
|
| 68 |
{
|
| 69 |
+
"identifier": "072075692a44a8f17394214369e6e762abe52bc3",
|
| 70 |
+
"kind": "upstream_repository",
|
| 71 |
+
"metadata": {},
|
| 72 |
+
"project": "MLI-lab/DeepDeWedge",
|
| 73 |
+
"revision": "072075692a44a8f17394214369e6e762abe52bc3",
|
| 74 |
+
"sha256": null,
|
| 75 |
+
"url": "https://github.com/MLI-lab/DeepDeWedge"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
}
|
| 77 |
]
|
| 78 |
},
|
| 79 |
"requirements": {
|
| 80 |
+
"learned_checkpoint_format": 2,
|
| 81 |
+
"minimum_scitomo_version": "0.7.3"
|
| 82 |
},
|
| 83 |
+
"schema_version": 4,
|
| 84 |
"tensors": [
|
| 85 |
{
|
| 86 |
"dtype": "float32",
|
| 87 |
+
"name": "bottleneck_conv_0.bias",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
"shape": [
|
| 89 |
512
|
| 90 |
]
|
| 91 |
},
|
| 92 |
{
|
| 93 |
"dtype": "float32",
|
| 94 |
+
"name": "bottleneck_conv_0.weight",
|
| 95 |
"shape": [
|
| 96 |
512,
|
| 97 |
256,
|
|
|
|
| 102 |
},
|
| 103 |
{
|
| 104 |
"dtype": "float32",
|
| 105 |
+
"name": "bottleneck_conv_1.bias",
|
| 106 |
"shape": [
|
| 107 |
256
|
| 108 |
]
|
| 109 |
},
|
| 110 |
{
|
| 111 |
"dtype": "float32",
|
| 112 |
+
"name": "bottleneck_conv_1.weight",
|
| 113 |
"shape": [
|
| 114 |
256,
|
| 115 |
512,
|
|
|
|
| 120 |
},
|
| 121 |
{
|
| 122 |
"dtype": "float32",
|
| 123 |
+
"name": "down_0_conv_0.bias",
|
| 124 |
"shape": [
|
| 125 |
64
|
| 126 |
]
|
| 127 |
},
|
| 128 |
{
|
| 129 |
"dtype": "float32",
|
| 130 |
+
"name": "down_0_conv_0.weight",
|
| 131 |
"shape": [
|
| 132 |
64,
|
| 133 |
1,
|
|
|
|
| 138 |
},
|
| 139 |
{
|
| 140 |
"dtype": "float32",
|
| 141 |
+
"name": "down_0_conv_1.bias",
|
| 142 |
"shape": [
|
| 143 |
64
|
| 144 |
]
|
| 145 |
},
|
| 146 |
{
|
| 147 |
"dtype": "float32",
|
| 148 |
+
"name": "down_0_conv_1.weight",
|
| 149 |
"shape": [
|
| 150 |
64,
|
| 151 |
64,
|
|
|
|
| 156 |
},
|
| 157 |
{
|
| 158 |
"dtype": "float32",
|
| 159 |
+
"name": "down_0_conv_2.bias",
|
| 160 |
"shape": [
|
| 161 |
64
|
| 162 |
]
|
| 163 |
},
|
| 164 |
{
|
| 165 |
"dtype": "float32",
|
| 166 |
+
"name": "down_0_conv_2.weight",
|
| 167 |
"shape": [
|
| 168 |
64,
|
| 169 |
64,
|
|
|
|
| 174 |
},
|
| 175 |
{
|
| 176 |
"dtype": "float32",
|
| 177 |
+
"name": "down_1_conv_0.bias",
|
| 178 |
"shape": [
|
| 179 |
128
|
| 180 |
]
|
| 181 |
},
|
| 182 |
{
|
| 183 |
"dtype": "float32",
|
| 184 |
+
"name": "down_1_conv_0.weight",
|
| 185 |
"shape": [
|
| 186 |
128,
|
| 187 |
64,
|
|
|
|
| 192 |
},
|
| 193 |
{
|
| 194 |
"dtype": "float32",
|
| 195 |
+
"name": "down_1_conv_1.bias",
|
| 196 |
"shape": [
|
| 197 |
128
|
| 198 |
]
|
| 199 |
},
|
| 200 |
{
|
| 201 |
"dtype": "float32",
|
| 202 |
+
"name": "down_1_conv_1.weight",
|
| 203 |
"shape": [
|
| 204 |
128,
|
| 205 |
128,
|
|
|
|
| 210 |
},
|
| 211 |
{
|
| 212 |
"dtype": "float32",
|
| 213 |
+
"name": "down_1_conv_2.bias",
|
| 214 |
"shape": [
|
| 215 |
128
|
| 216 |
]
|
| 217 |
},
|
| 218 |
{
|
| 219 |
"dtype": "float32",
|
| 220 |
+
"name": "down_1_conv_2.weight",
|
| 221 |
"shape": [
|
| 222 |
128,
|
| 223 |
128,
|
|
|
|
| 228 |
},
|
| 229 |
{
|
| 230 |
"dtype": "float32",
|
| 231 |
+
"name": "down_2_conv_0.bias",
|
| 232 |
"shape": [
|
| 233 |
256
|
| 234 |
]
|
| 235 |
},
|
| 236 |
{
|
| 237 |
"dtype": "float32",
|
| 238 |
+
"name": "down_2_conv_0.weight",
|
| 239 |
"shape": [
|
| 240 |
256,
|
| 241 |
128,
|
|
|
|
| 246 |
},
|
| 247 |
{
|
| 248 |
"dtype": "float32",
|
| 249 |
+
"name": "down_2_conv_1.bias",
|
| 250 |
"shape": [
|
| 251 |
256
|
| 252 |
]
|
| 253 |
},
|
| 254 |
{
|
| 255 |
"dtype": "float32",
|
| 256 |
+
"name": "down_2_conv_1.weight",
|
| 257 |
"shape": [
|
| 258 |
256,
|
| 259 |
256,
|
|
|
|
| 264 |
},
|
| 265 |
{
|
| 266 |
"dtype": "float32",
|
| 267 |
+
"name": "down_2_conv_2.bias",
|
| 268 |
"shape": [
|
| 269 |
256
|
| 270 |
]
|
| 271 |
},
|
| 272 |
{
|
| 273 |
"dtype": "float32",
|
| 274 |
+
"name": "down_2_conv_2.weight",
|
| 275 |
"shape": [
|
| 276 |
256,
|
| 277 |
256,
|
|
|
|
| 282 |
},
|
| 283 |
{
|
| 284 |
"dtype": "float32",
|
| 285 |
+
"name": "downsample_0.bias",
|
| 286 |
"shape": [
|
| 287 |
64
|
| 288 |
]
|
| 289 |
},
|
| 290 |
{
|
| 291 |
"dtype": "float32",
|
| 292 |
+
"name": "downsample_0.weight",
|
| 293 |
"shape": [
|
| 294 |
64,
|
| 295 |
64,
|
|
|
|
| 300 |
},
|
| 301 |
{
|
| 302 |
"dtype": "float32",
|
| 303 |
+
"name": "downsample_1.bias",
|
| 304 |
"shape": [
|
| 305 |
128
|
| 306 |
]
|
| 307 |
},
|
| 308 |
{
|
| 309 |
"dtype": "float32",
|
| 310 |
+
"name": "downsample_1.weight",
|
| 311 |
"shape": [
|
| 312 |
128,
|
| 313 |
128,
|
|
|
|
| 318 |
},
|
| 319 |
{
|
| 320 |
"dtype": "float32",
|
| 321 |
+
"name": "downsample_2.bias",
|
| 322 |
"shape": [
|
| 323 |
256
|
| 324 |
]
|
| 325 |
},
|
| 326 |
{
|
| 327 |
"dtype": "float32",
|
| 328 |
+
"name": "downsample_2.weight",
|
| 329 |
"shape": [
|
| 330 |
256,
|
| 331 |
256,
|
|
|
|
| 354 |
},
|
| 355 |
{
|
| 356 |
"dtype": "float32",
|
| 357 |
+
"name": "up_0_conv_0.bias",
|
| 358 |
"shape": [
|
| 359 |
256
|
| 360 |
]
|
| 361 |
},
|
| 362 |
{
|
| 363 |
"dtype": "float32",
|
| 364 |
+
"name": "up_0_conv_0.weight",
|
| 365 |
"shape": [
|
| 366 |
256,
|
| 367 |
512,
|
|
|
|
| 372 |
},
|
| 373 |
{
|
| 374 |
"dtype": "float32",
|
| 375 |
+
"name": "up_0_conv_1.bias",
|
| 376 |
"shape": [
|
| 377 |
256
|
| 378 |
]
|
| 379 |
},
|
| 380 |
{
|
| 381 |
"dtype": "float32",
|
| 382 |
+
"name": "up_0_conv_1.weight",
|
| 383 |
"shape": [
|
| 384 |
256,
|
| 385 |
256,
|
|
|
|
| 390 |
},
|
| 391 |
{
|
| 392 |
"dtype": "float32",
|
| 393 |
+
"name": "up_0_conv_2.bias",
|
| 394 |
"shape": [
|
| 395 |
256
|
| 396 |
]
|
| 397 |
},
|
| 398 |
{
|
| 399 |
"dtype": "float32",
|
| 400 |
+
"name": "up_0_conv_2.weight",
|
| 401 |
"shape": [
|
| 402 |
256,
|
| 403 |
256,
|
|
|
|
| 408 |
},
|
| 409 |
{
|
| 410 |
"dtype": "float32",
|
| 411 |
+
"name": "up_1_conv_0.bias",
|
| 412 |
"shape": [
|
| 413 |
128
|
| 414 |
]
|
| 415 |
},
|
| 416 |
{
|
| 417 |
"dtype": "float32",
|
| 418 |
+
"name": "up_1_conv_0.weight",
|
| 419 |
"shape": [
|
| 420 |
128,
|
| 421 |
256,
|
|
|
|
| 426 |
},
|
| 427 |
{
|
| 428 |
"dtype": "float32",
|
| 429 |
+
"name": "up_1_conv_1.bias",
|
| 430 |
"shape": [
|
| 431 |
128
|
| 432 |
]
|
| 433 |
},
|
| 434 |
{
|
| 435 |
"dtype": "float32",
|
| 436 |
+
"name": "up_1_conv_1.weight",
|
| 437 |
"shape": [
|
| 438 |
128,
|
| 439 |
128,
|
|
|
|
| 444 |
},
|
| 445 |
{
|
| 446 |
"dtype": "float32",
|
| 447 |
+
"name": "up_1_conv_2.bias",
|
| 448 |
"shape": [
|
| 449 |
128
|
| 450 |
]
|
| 451 |
},
|
| 452 |
{
|
| 453 |
"dtype": "float32",
|
| 454 |
+
"name": "up_1_conv_2.weight",
|
| 455 |
"shape": [
|
| 456 |
128,
|
| 457 |
128,
|
|
|
|
| 462 |
},
|
| 463 |
{
|
| 464 |
"dtype": "float32",
|
| 465 |
+
"name": "up_2_conv_0.bias",
|
| 466 |
"shape": [
|
| 467 |
64
|
| 468 |
]
|
| 469 |
},
|
| 470 |
{
|
| 471 |
"dtype": "float32",
|
| 472 |
+
"name": "up_2_conv_0.weight",
|
| 473 |
"shape": [
|
| 474 |
64,
|
| 475 |
128,
|
|
|
|
| 480 |
},
|
| 481 |
{
|
| 482 |
"dtype": "float32",
|
| 483 |
+
"name": "up_2_conv_1.bias",
|
| 484 |
"shape": [
|
| 485 |
64
|
| 486 |
]
|
| 487 |
},
|
| 488 |
{
|
| 489 |
"dtype": "float32",
|
| 490 |
+
"name": "up_2_conv_1.weight",
|
| 491 |
"shape": [
|
| 492 |
64,
|
| 493 |
64,
|
|
|
|
| 498 |
},
|
| 499 |
{
|
| 500 |
"dtype": "float32",
|
| 501 |
+
"name": "up_2_conv_2.bias",
|
| 502 |
"shape": [
|
| 503 |
64
|
| 504 |
]
|
| 505 |
},
|
| 506 |
{
|
| 507 |
"dtype": "float32",
|
| 508 |
+
"name": "up_2_conv_2.weight",
|
| 509 |
"shape": [
|
| 510 |
64,
|
| 511 |
64,
|
|
|
|
| 516 |
},
|
| 517 |
{
|
| 518 |
"dtype": "float32",
|
| 519 |
+
"name": "upsample_0.bias",
|
| 520 |
"shape": [
|
| 521 |
256
|
| 522 |
]
|
| 523 |
},
|
| 524 |
{
|
| 525 |
"dtype": "float32",
|
| 526 |
+
"name": "upsample_0.weight",
|
| 527 |
"shape": [
|
| 528 |
256,
|
| 529 |
256,
|
|
|
|
| 534 |
},
|
| 535 |
{
|
| 536 |
"dtype": "float32",
|
| 537 |
+
"name": "upsample_1.bias",
|
| 538 |
"shape": [
|
| 539 |
128
|
| 540 |
]
|
| 541 |
},
|
| 542 |
{
|
| 543 |
"dtype": "float32",
|
| 544 |
+
"name": "upsample_1.weight",
|
| 545 |
"shape": [
|
| 546 |
256,
|
| 547 |
128,
|
|
|
|
| 552 |
},
|
| 553 |
{
|
| 554 |
"dtype": "float32",
|
| 555 |
+
"name": "upsample_2.bias",
|
| 556 |
"shape": [
|
| 557 |
64
|
| 558 |
]
|
| 559 |
},
|
| 560 |
{
|
| 561 |
"dtype": "float32",
|
| 562 |
+
"name": "upsample_2.weight",
|
| 563 |
"shape": [
|
| 564 |
128,
|
| 565 |
64,
|
|
|
|
| 569 |
]
|
| 570 |
}
|
| 571 |
],
|
| 572 |
+
"training": null
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 573 |
}
|
migration/migration-record.json
DELETED
|
@@ -1,45 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"kind": "scitomo_checkpoint_migration",
|
| 3 |
-
"minimum_scitomo_version_after": "0.6.2",
|
| 4 |
-
"minimum_scitomo_version_before": "0.5.4",
|
| 5 |
-
"package_id": "deepdewedge_tutorial",
|
| 6 |
-
"schema_version": 1,
|
| 7 |
-
"source_manifest": {
|
| 8 |
-
"path": "manifest.json",
|
| 9 |
-
"sha256": "c324a8980558af597c37da2dd053c8e5adb38895fe3ff00b300d727581496d3d",
|
| 10 |
-
"size_bytes": 11159
|
| 11 |
-
},
|
| 12 |
-
"source_manifest_schema_version": 1,
|
| 13 |
-
"source_package_revision": 1,
|
| 14 |
-
"source_provider": {
|
| 15 |
-
"identifier": "5e00643b4adb4fb67d52ef8f101507b47f4c06c1",
|
| 16 |
-
"kind": "huggingface_manifest",
|
| 17 |
-
"metadata": {
|
| 18 |
-
"manifest_schema_version": 1,
|
| 19 |
-
"package_revision": 1
|
| 20 |
-
},
|
| 21 |
-
"project": "scitomo/deepdewedge-tutorial",
|
| 22 |
-
"revision": "5e00643b4adb4fb67d52ef8f101507b47f4c06c1",
|
| 23 |
-
"sha256": "c324a8980558af597c37da2dd053c8e5adb38895fe3ff00b300d727581496d3d",
|
| 24 |
-
"url": "https://huggingface.co/scitomo/deepdewedge-tutorial/tree/5e00643b4adb4fb67d52ef8f101507b47f4c06c1"
|
| 25 |
-
},
|
| 26 |
-
"target_manifest_schema_version": 2,
|
| 27 |
-
"target_package_revision": 2,
|
| 28 |
-
"unchanged_files": [
|
| 29 |
-
{
|
| 30 |
-
"path": "construction.json",
|
| 31 |
-
"sha256": "d4c7eced057042438827de168d47b7900311fba742ce52445675be7f40343432",
|
| 32 |
-
"size_bytes": 2175
|
| 33 |
-
},
|
| 34 |
-
{
|
| 35 |
-
"path": "inference.json",
|
| 36 |
-
"sha256": "217636919d17d9332aa49474e893064ed1dfb29f016a468cf22d439cf16887a0",
|
| 37 |
-
"size_bytes": 968
|
| 38 |
-
},
|
| 39 |
-
{
|
| 40 |
-
"path": "weights.safetensors",
|
| 41 |
-
"sha256": "2a34aeb61dba5da5c7b78f4cc26de9b8a9134ac12dc08876a8e93bf02776c795",
|
| 42 |
-
"size_bytes": 109294940
|
| 43 |
-
}
|
| 44 |
-
]
|
| 45 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
refresh_format2.py
ADDED
|
@@ -0,0 +1,538 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Regenerate the DeepDeWedge FORMAT 2 package from its authoritative source.
|
| 2 |
+
|
| 3 |
+
This one-off maintenance converter is a package resource, not Scitomo runtime
|
| 4 |
+
code. It intentionally refuses all historical Hugging Face payloads.
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
from __future__ import annotations
|
| 8 |
+
|
| 9 |
+
import hashlib
|
| 10 |
+
import platform
|
| 11 |
+
import shutil
|
| 12 |
+
import subprocess
|
| 13 |
+
import sys
|
| 14 |
+
import types
|
| 15 |
+
from pathlib import Path
|
| 16 |
+
|
| 17 |
+
import pytorch_lightning
|
| 18 |
+
import safetensors
|
| 19 |
+
import torch
|
| 20 |
+
|
| 21 |
+
import scitomo as st
|
| 22 |
+
from scitomo.methods.restoration.deepdewedge.network_invocation import (
|
| 23 |
+
invoke_deepdewedge_network,
|
| 24 |
+
)
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
SCRIPT_PATH = Path(__file__).resolve()
|
| 28 |
+
ROOT = (
|
| 29 |
+
SCRIPT_PATH.parents[2]
|
| 30 |
+
if SCRIPT_PATH.parent.name == "conversion"
|
| 31 |
+
else SCRIPT_PATH.parents[1]
|
| 32 |
+
)
|
| 33 |
+
UPSTREAM = ROOT / "upstream"
|
| 34 |
+
CHECKPOINT = ROOT / "official" / "fitted_model.ckpt"
|
| 35 |
+
ARCHIVE = ROOT / "official" / "tutorial_data.zip"
|
| 36 |
+
TARGET = ROOT / "hf"
|
| 37 |
+
OUTPUT = ROOT / "package-fresh"
|
| 38 |
+
RUNTIME_VIEW = ROOT / "package-runtime-view"
|
| 39 |
+
|
| 40 |
+
UPSTREAM_REVISION = "072075692a44a8f17394214369e6e762abe52bc3"
|
| 41 |
+
CHECKPOINT_SIZE = 327952642
|
| 42 |
+
CHECKPOINT_SHA256 = "5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76"
|
| 43 |
+
ARCHIVE_SHA256 = "7c871342e51f5a66a773fe427d72944b5d2cc8ff41c5b7415ab38dbfc9ac6d58"
|
| 44 |
+
ARCHIVE_MD5 = "130264af7d96be6237351f8f51eda8c8"
|
| 45 |
+
PREVIOUS_HF_COMMIT = "87db06570dd874a99af1289e62b79ea99f87f006"
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
def _digest(path: Path, algorithm: str) -> str:
|
| 49 |
+
hasher = hashlib.new(algorithm)
|
| 50 |
+
with path.open("rb") as stream:
|
| 51 |
+
for block in iter(lambda: stream.read(1024 * 1024), b""):
|
| 52 |
+
hasher.update(block)
|
| 53 |
+
return hasher.hexdigest()
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
def _verify_authority() -> None:
|
| 57 |
+
"""Fail closed before the sole permitted Lightning deserialization."""
|
| 58 |
+
|
| 59 |
+
if CHECKPOINT.stat().st_size != CHECKPOINT_SIZE:
|
| 60 |
+
raise RuntimeError("Authoritative checkpoint byte size does not match.")
|
| 61 |
+
if _digest(CHECKPOINT, "sha256") != CHECKPOINT_SHA256:
|
| 62 |
+
raise RuntimeError("Authoritative checkpoint SHA-256 does not match.")
|
| 63 |
+
if _digest(ARCHIVE, "sha256") != ARCHIVE_SHA256:
|
| 64 |
+
raise RuntimeError("Authoritative archive SHA-256 does not match.")
|
| 65 |
+
if _digest(ARCHIVE, "md5") != ARCHIVE_MD5:
|
| 66 |
+
raise RuntimeError("Authoritative archive MD5 does not match.")
|
| 67 |
+
revision = subprocess.check_output(
|
| 68 |
+
["git", "-C", str(UPSTREAM), "rev-parse", "HEAD"], text=True
|
| 69 |
+
).strip()
|
| 70 |
+
if revision != UPSTREAM_REVISION:
|
| 71 |
+
raise RuntimeError("Pinned upstream checkout revision does not match.")
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
def _load_upstream_model() -> torch.nn.Module:
|
| 75 |
+
"""Load the exact pinned model without executing its unrelated CLI package init."""
|
| 76 |
+
|
| 77 |
+
ddw = types.ModuleType("ddw")
|
| 78 |
+
ddw.__path__ = [str(UPSTREAM / "ddw")]
|
| 79 |
+
sys.modules["ddw"] = ddw
|
| 80 |
+
utils = types.ModuleType("ddw.utils")
|
| 81 |
+
utils.__path__ = [str(UPSTREAM / "ddw" / "utils")]
|
| 82 |
+
sys.modules["ddw.utils"] = utils
|
| 83 |
+
|
| 84 |
+
# ``unet.py`` imports this training-only helper but conversion never calls it.
|
| 85 |
+
# Providing the inert name avoids importing the upstream CLI-only dependency
|
| 86 |
+
# chain (typer) while preserving the exact source model implementation.
|
| 87 |
+
normalization = types.ModuleType("ddw.utils.normalization")
|
| 88 |
+
normalization.get_avg_model_input_mean_and_std_from_dataloader = _unavailable
|
| 89 |
+
sys.modules["ddw.utils.normalization"] = normalization
|
| 90 |
+
|
| 91 |
+
from ddw.utils.unet import LitUnet3D
|
| 92 |
+
|
| 93 |
+
return LitUnet3D.load_from_checkpoint(CHECKPOINT, map_location="cpu").eval()
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
def _unavailable(*args: object, **kwargs: object) -> None:
|
| 97 |
+
del args, kwargs
|
| 98 |
+
raise RuntimeError("Training-only upstream normalization is unavailable here.")
|
| 99 |
+
|
| 100 |
+
|
| 101 |
+
def _canonical_source_to_target(
|
| 102 |
+
source: torch.nn.Module,
|
| 103 |
+
) -> tuple[
|
| 104 |
+
st.network.ClosedDescribedNetwork,
|
| 105 |
+
dict[str, torch.Tensor],
|
| 106 |
+
tuple[st.artifacts.LearnedCheckpointTransformation, ...],
|
| 107 |
+
st.methods.DeepDeWedgeFittedInference,
|
| 108 |
+
]:
|
| 109 |
+
"""Instantiate, strict-map, and lower the source model through Network authority."""
|
| 110 |
+
|
| 111 |
+
params = dict(source.unet_params)
|
| 112 |
+
expected = {
|
| 113 |
+
"chans": 64,
|
| 114 |
+
"num_downsample_layers": 3,
|
| 115 |
+
"drop_prob": 0.0,
|
| 116 |
+
}
|
| 117 |
+
if {key: params.get(key) for key in expected} != expected:
|
| 118 |
+
raise RuntimeError("Checkpoint U-Net parameters are not the audited tutorial architecture.")
|
| 119 |
+
if set(params) != {
|
| 120 |
+
"chans",
|
| 121 |
+
"num_downsample_layers",
|
| 122 |
+
"drop_prob",
|
| 123 |
+
"normalization_loc",
|
| 124 |
+
"normalization_scale",
|
| 125 |
+
}:
|
| 126 |
+
raise RuntimeError("Checkpoint contains unexpected U-Net parameter fields.")
|
| 127 |
+
|
| 128 |
+
vendor = source.unet
|
| 129 |
+
fitted = st.methods.DeepDeWedgeFittedInference(
|
| 130 |
+
network_affine_loc=float(vendor.normalization_loc),
|
| 131 |
+
network_affine_scale=float(vendor.normalization_scale),
|
| 132 |
+
)
|
| 133 |
+
described = st.network.build_described_network(
|
| 134 |
+
st.network.UNet3D(
|
| 135 |
+
initial_channels=params["chans"],
|
| 136 |
+
num_downsampling_blocks=params["num_downsample_layers"],
|
| 137 |
+
),
|
| 138 |
+
context=st.network.NetworkBuildContext(
|
| 139 |
+
device=torch.device("cpu"), dtype=torch.float32, seed=0
|
| 140 |
+
),
|
| 141 |
+
)
|
| 142 |
+
source_state = vendor.state_dict()
|
| 143 |
+
target_template = described.module.state_dict()
|
| 144 |
+
affine_names = {"_normalization_loc", "_normalization_scale"}
|
| 145 |
+
if set(source_state) - affine_names != {
|
| 146 |
+
"bottleneck.2.bias" if name == "bottleneck.4.bias" else
|
| 147 |
+
"bottleneck.2.weight" if name == "bottleneck.4.weight" else name
|
| 148 |
+
for name in target_template
|
| 149 |
+
if name not in affine_names
|
| 150 |
+
}:
|
| 151 |
+
raise RuntimeError("Source and target state namespaces are not the audited mapping.")
|
| 152 |
+
|
| 153 |
+
mapped_target: dict[str, torch.Tensor] = {}
|
| 154 |
+
target_to_source: dict[str, str] = {}
|
| 155 |
+
for target_name in target_template:
|
| 156 |
+
if target_name in affine_names:
|
| 157 |
+
mapped_target[target_name] = source_state[target_name]
|
| 158 |
+
continue
|
| 159 |
+
source_name = (
|
| 160 |
+
target_name.replace("bottleneck.4.", "bottleneck.2.")
|
| 161 |
+
if target_name.startswith("bottleneck.4.")
|
| 162 |
+
else target_name
|
| 163 |
+
)
|
| 164 |
+
tensor = source_state[source_name]
|
| 165 |
+
if tuple(tensor.shape) != tuple(target_template[target_name].shape):
|
| 166 |
+
raise RuntimeError(f"Mapped tensor shape differs for {target_name!r}.")
|
| 167 |
+
mapped_target[target_name] = tensor
|
| 168 |
+
target_to_source[target_name] = source_name
|
| 169 |
+
incompatible = described.module.load_state_dict(mapped_target, strict=True)
|
| 170 |
+
if incompatible.missing_keys or incompatible.unexpected_keys:
|
| 171 |
+
raise RuntimeError("Strict mapped source state load failed.")
|
| 172 |
+
|
| 173 |
+
closed = st.network.close_described_network(described)
|
| 174 |
+
canonical = closed.state
|
| 175 |
+
canonical_to_target: dict[str, str] = {}
|
| 176 |
+
for canonical_name, tensor in canonical.items():
|
| 177 |
+
matches = [
|
| 178 |
+
target_name
|
| 179 |
+
for target_name, target_tensor in described.module.state_dict().items()
|
| 180 |
+
if target_name not in affine_names
|
| 181 |
+
and target_tensor.data_ptr() == tensor.data_ptr()
|
| 182 |
+
and tuple(target_tensor.shape) == tuple(tensor.shape)
|
| 183 |
+
and target_tensor.dtype == tensor.dtype
|
| 184 |
+
]
|
| 185 |
+
if len(matches) != 1:
|
| 186 |
+
raise RuntimeError(f"Canonical state mapping is ambiguous for {canonical_name!r}.")
|
| 187 |
+
canonical_to_target[canonical_name] = matches[0]
|
| 188 |
+
if set(canonical_to_target.values()) != set(target_to_source):
|
| 189 |
+
raise RuntimeError("Canonical state closure does not cover the source mapping.")
|
| 190 |
+
|
| 191 |
+
transformations = tuple(
|
| 192 |
+
st.artifacts.LearnedCheckpointTransformation(
|
| 193 |
+
kind="identity" if target_to_source[target_name] == target_name else "rename",
|
| 194 |
+
source=f"state_dict.unet.{target_to_source[target_name]}",
|
| 195 |
+
target=canonical_name,
|
| 196 |
+
details={"source_checkpoint": "tutorial_data/fitted_model.ckpt"},
|
| 197 |
+
)
|
| 198 |
+
for canonical_name, target_name in sorted(canonical_to_target.items())
|
| 199 |
+
)
|
| 200 |
+
return closed, canonical, transformations, fitted
|
| 201 |
+
|
| 202 |
+
|
| 203 |
+
def _profile(
|
| 204 |
+
fitted: st.methods.DeepDeWedgeFittedInference,
|
| 205 |
+
) -> st.methods.DeepDeWedgeInferenceProfile:
|
| 206 |
+
return st.methods.DeepDeWedgeInferenceProfile(
|
| 207 |
+
contract=st.methods.DeepDeWedgeInferenceContract(
|
| 208 |
+
missing_wedge_full_width_deg=50.0,
|
| 209 |
+
full_tomogram_standardization=False,
|
| 210 |
+
preconditioning_normalization_policy="recompute_patch_statistics",
|
| 211 |
+
patch_shape=(96, 96, 96),
|
| 212 |
+
overlap=(32, 32, 32),
|
| 213 |
+
),
|
| 214 |
+
fitted=fitted,
|
| 215 |
+
)
|
| 216 |
+
|
| 217 |
+
|
| 218 |
+
def _parity(
|
| 219 |
+
source: torch.nn.Module,
|
| 220 |
+
closed: st.network.ClosedDescribedNetwork,
|
| 221 |
+
fitted: st.methods.DeepDeWedgeFittedInference,
|
| 222 |
+
) -> dict[str, float]:
|
| 223 |
+
"""Compare external-affine canonical Network inference on a non-symmetric input."""
|
| 224 |
+
|
| 225 |
+
realized = st.network.realize_network(
|
| 226 |
+
program=closed.program,
|
| 227 |
+
state=closed.state,
|
| 228 |
+
context=st.network.NetworkBuildContext(
|
| 229 |
+
device=torch.device("cpu"), dtype=torch.float32, seed=19
|
| 230 |
+
),
|
| 231 |
+
)
|
| 232 |
+
value = torch.arange(1 * 1 * 16 * 16 * 16, dtype=torch.float32).reshape(
|
| 233 |
+
1, 1, 16, 16, 16
|
| 234 |
+
)
|
| 235 |
+
value = value / 997.0 - 0.37
|
| 236 |
+
with torch.no_grad():
|
| 237 |
+
vendor_output = source.unet(value)
|
| 238 |
+
format2_output = invoke_deepdewedge_network(
|
| 239 |
+
realized.module, value, fitted=fitted
|
| 240 |
+
)
|
| 241 |
+
torch.testing.assert_close(vendor_output, format2_output, rtol=1.0e-5, atol=1.0e-6)
|
| 242 |
+
difference = (vendor_output - format2_output).abs()
|
| 243 |
+
relative_l2 = torch.linalg.vector_norm(difference) / torch.linalg.vector_norm(vendor_output)
|
| 244 |
+
return {
|
| 245 |
+
"input_elements": float(value.numel()),
|
| 246 |
+
"max_abs_error": float(difference.max()),
|
| 247 |
+
"relative_l2_error": float(relative_l2),
|
| 248 |
+
}
|
| 249 |
+
|
| 250 |
+
|
| 251 |
+
def _resources(parity: dict[str, float]) -> dict[str, bytes]:
|
| 252 |
+
card = f"""---
|
| 253 |
+
license: cc-by-4.0
|
| 254 |
+
library_name: scitomo
|
| 255 |
+
tags: [cryo-electron-tomography, deepdewedge, safetensors, scitomo, format-2]
|
| 256 |
+
---
|
| 257 |
+
|
| 258 |
+
# DeepDeWedge tutorial checkpoint — fresh Scitomo FORMAT 2 package
|
| 259 |
+
|
| 260 |
+
This is a fresh FORMAT 2 export from the authoritative original Lightning
|
| 261 |
+
checkpoint, not a migration of any earlier Hugging Face package. Normal runtime
|
| 262 |
+
uses Scitomo's generic FORMAT 2 loader and Safetensors only; it does not require
|
| 263 |
+
PyTorch Lightning or the upstream DeepDeWedge source checkout.
|
| 264 |
+
|
| 265 |
+
## Package identity
|
| 266 |
+
|
| 267 |
+
- package id: `deepdewedge_tutorial`; package revision: `3`
|
| 268 |
+
- learned-checkpoint format: `2`; manifest schema: `4`
|
| 269 |
+
- Scitomo conversion checkout: `2832957f69daff0d7baec5df17a7c54954623eed`
|
| 270 |
+
- minimum Scitomo version: `0.7.3`
|
| 271 |
+
- previous Hugging Face commit: `{PREVIOUS_HF_COMMIT}` — **HISTORICAL ONLY; NOT CONVERSION INPUT**
|
| 272 |
+
|
| 273 |
+
## Authoritative provenance
|
| 274 |
+
|
| 275 |
+
- upstream repository: <https://github.com/MLI-lab/DeepDeWedge>
|
| 276 |
+
- upstream revision: `{UPSTREAM_REVISION}`
|
| 277 |
+
- Figshare DOI: <https://doi.org/10.6084/m9.figshare.25043435.v1>; file id: `45582309`
|
| 278 |
+
- original archive SHA-256: `{ARCHIVE_SHA256}`
|
| 279 |
+
- original checkpoint member: `tutorial_data/fitted_model.ckpt`
|
| 280 |
+
- original checkpoint size: `{CHECKPOINT_SIZE}` bytes
|
| 281 |
+
- original checkpoint SHA-256: `{CHECKPOINT_SHA256}`
|
| 282 |
+
|
| 283 |
+
DeepDeWedge Tutorial Data is attributed to Simon Wiedemann and is distributed
|
| 284 |
+
under CC BY 4.0. The pinned DeepDeWedge implementation is BSD-2-Clause; its
|
| 285 |
+
license text is included below `LICENSES/`. See `ATTRIBUTION.md`.
|
| 286 |
+
|
| 287 |
+
## Scientific inference semantics
|
| 288 |
+
|
| 289 |
+
The pure persisted Network owns only the lowered U-Net architecture and its 54
|
| 290 |
+
canonical tensors. The fitted affine values remain outside Network state in the
|
| 291 |
+
typed `deepdewedge_inference` profile:
|
| 292 |
+
|
| 293 |
+
- `network_affine_loc`: `{_fmt(fitted_loc := -0.1489875167608261)}`
|
| 294 |
+
- `network_affine_scale`: `{_fmt(fitted_scale := 1.3237642049789429)}`
|
| 295 |
+
- input layout: `(..., Z, Y, X)`; Network layout: `(..., C, Z, Y, X)`
|
| 296 |
+
- paired halves are refined independently then averaged; full-width missing wedge: 50 degrees
|
| 297 |
+
- 96³ patches, 32³ overlap, trailing-reflection coverage, linear-ramp reassembly
|
| 298 |
+
- preconditioning recomputes patch statistics; output uses the checkpoint-fitted affine
|
| 299 |
+
|
| 300 |
+
## Fresh conversion and validation
|
| 301 |
+
|
| 302 |
+
`refresh_format2.py` is the exact one-off implementation and records
|
| 303 |
+
the verified source, explicit 54-tensor mapping, strict Network lowering, and
|
| 304 |
+
generic export. It was run with Python `{platform.python_version()}`, Torch
|
| 305 |
+
`{torch.__version__}`, Lightning `{pytorch_lightning.__version__}`, Safetensors
|
| 306 |
+
`{safetensors.__version__}`, and Scitomo `{st.__version__}` on `{platform.platform()}`.
|
| 307 |
+
|
| 308 |
+
The generic exporter freshly serializes `weights.safetensors`; no previous
|
| 309 |
+
Hugging Face Safetensors, manifest, construction, or inference record is read.
|
| 310 |
+
The conversion record lists every source checkpoint tensor to canonical target
|
| 311 |
+
mapping. The validation record binds package state closure, generic loader
|
| 312 |
+
reload, external-affine semantics, and deterministic forward parity.
|
| 313 |
+
|
| 314 |
+
For a deterministic directional, non-symmetric CPU float32 input of 4,096 elements,
|
| 315 |
+
authoritative upstream output versus FORMAT 2 pure-Network-plus-profile output
|
| 316 |
+
passed `rtol=1e-5`, `atol=1e-6`: maximum absolute error
|
| 317 |
+
`{parity['max_abs_error']:.9g}`, relative L2 error `{parity['relative_l2_error']:.9g}`.
|
| 318 |
+
|
| 319 |
+
## Files and closure
|
| 320 |
+
|
| 321 |
+
`manifest.json` is the authoritative, closed inventory of every package file,
|
| 322 |
+
with each fresh size and SHA-256. It declares only FORMAT 2 construction,
|
| 323 |
+
inference, Safetensors, conversion, validation, and documentation/license
|
| 324 |
+
resources; there is no format-1 or migration artifact. Validate and load with:
|
| 325 |
+
|
| 326 |
+
```python
|
| 327 |
+
import scitomo as st
|
| 328 |
+
loaded = st.api.load_learned_network("/path/to/package")
|
| 329 |
+
```
|
| 330 |
+
|
| 331 |
+
This operation uses the generic Scitomo FORMAT 2 loader and does not import
|
| 332 |
+
Lightning or DeepDeWedge. It is a checkpoint package, not a claim of scientific
|
| 333 |
+
approval for a new dataset or acquisition protocol.
|
| 334 |
+
"""
|
| 335 |
+
attribution = f"""# Attribution and modification notice
|
| 336 |
+
|
| 337 |
+
## Original material
|
| 338 |
+
|
| 339 |
+
**DeepDeWedge Tutorial Data**
|
| 340 |
+
Creator: Simon Wiedemann
|
| 341 |
+
DOI: <https://doi.org/10.6084/m9.figshare.25043435.v1>
|
| 342 |
+
Figshare file id: `45582309`
|
| 343 |
+
Archive member: `tutorial_data/fitted_model.ckpt`
|
| 344 |
+
License: Creative Commons Attribution 4.0 International
|
| 345 |
+
|
| 346 |
+
The method is described by Simon Wiedemann and Reinhard Heckel, *A deep
|
| 347 |
+
learning method for simultaneous denoising and missing wedge reconstruction in
|
| 348 |
+
cryogenic electron tomography*, Nature Communications 15, 8255 (2024),
|
| 349 |
+
<https://doi.org/10.1038/s41467-024-51438-y>.
|
| 350 |
+
|
| 351 |
+
Pinned upstream code: <https://github.com/MLI-lab/DeepDeWedge/tree/{UPSTREAM_REVISION}>
|
| 352 |
+
(BSD-2-Clause).
|
| 353 |
+
|
| 354 |
+
## Changes in this package
|
| 355 |
+
|
| 356 |
+
On 2026-09-04 Scitomo freshly converted only the authoritative checkpoint
|
| 357 |
+
`official/fitted_model.ckpt`, after byte-size and SHA-256 verification, through
|
| 358 |
+
the exact pinned upstream source and current generic FORMAT 2 exporter. The
|
| 359 |
+
54 U-Net state tensors were explicitly mapped into canonical Network state.
|
| 360 |
+
The two fitted affine quantities were preserved as external DeepDeWedge
|
| 361 |
+
inference-profile state; they are not Network state. No old Hugging Face
|
| 362 |
+
Safetensors or format-1 package artifact was conversion input.
|
| 363 |
+
|
| 364 |
+
No endorsement by the cited authors, the Machine Learning and Information
|
| 365 |
+
Processing Laboratory, Figshare, or the rights holders is implied.
|
| 366 |
+
"""
|
| 367 |
+
return {
|
| 368 |
+
"README.md": card.encode("utf-8"),
|
| 369 |
+
"ATTRIBUTION.md": attribution.encode("utf-8"),
|
| 370 |
+
"LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt": (UPSTREAM / "LICENSE").read_bytes(),
|
| 371 |
+
"refresh_format2.py": Path(__file__).read_bytes(),
|
| 372 |
+
}
|
| 373 |
+
|
| 374 |
+
|
| 375 |
+
def _fmt(value: float) -> str:
|
| 376 |
+
return format(value, ".17g")
|
| 377 |
+
|
| 378 |
+
|
| 379 |
+
def _replace_hf_with_closed_package() -> None:
|
| 380 |
+
if TARGET.resolve() != ROOT / "hf" or not (TARGET / ".git").is_dir():
|
| 381 |
+
raise RuntimeError("Refusing to replace an unexpected Hugging Face working tree.")
|
| 382 |
+
if not OUTPUT.is_dir() or OUTPUT.is_symlink():
|
| 383 |
+
raise RuntimeError("Fresh output directory is unavailable for publication.")
|
| 384 |
+
for child in TARGET.iterdir():
|
| 385 |
+
if child.name == ".git":
|
| 386 |
+
continue
|
| 387 |
+
if child.is_dir() and not child.is_symlink():
|
| 388 |
+
shutil.rmtree(child)
|
| 389 |
+
else:
|
| 390 |
+
child.unlink()
|
| 391 |
+
shutil.move(str(OUTPUT), str(TARGET / ".package-fresh"))
|
| 392 |
+
staged = TARGET / ".package-fresh"
|
| 393 |
+
for child in staged.iterdir():
|
| 394 |
+
shutil.move(str(child), str(TARGET / child.name))
|
| 395 |
+
staged.rmdir()
|
| 396 |
+
|
| 397 |
+
|
| 398 |
+
def _runtime_view() -> Path:
|
| 399 |
+
"""Create a byte-identical package view excluding local Git administration."""
|
| 400 |
+
|
| 401 |
+
if RUNTIME_VIEW.exists() or RUNTIME_VIEW.is_symlink():
|
| 402 |
+
raise RuntimeError("Runtime validation view already exists.")
|
| 403 |
+
shutil.copytree(TARGET, RUNTIME_VIEW, ignore=shutil.ignore_patterns(".git"))
|
| 404 |
+
return RUNTIME_VIEW
|
| 405 |
+
|
| 406 |
+
|
| 407 |
+
def main() -> None:
|
| 408 |
+
_verify_authority()
|
| 409 |
+
if OUTPUT.exists() or OUTPUT.is_symlink():
|
| 410 |
+
raise RuntimeError("Fresh output directory already exists before export.")
|
| 411 |
+
source = _load_upstream_model()
|
| 412 |
+
closed, canonical, mappings, fitted = _canonical_source_to_target(source)
|
| 413 |
+
parity = _parity(source, closed, fitted)
|
| 414 |
+
profile = _profile(fitted)
|
| 415 |
+
owner = st.artifacts.LearnedCheckpointMethodOwner(
|
| 416 |
+
family="restoration", method_kind="deepdewedge"
|
| 417 |
+
)
|
| 418 |
+
construction = st.artifacts.LearnedCheckpointConstructionRecordV2.from_program(
|
| 419 |
+
closed.program
|
| 420 |
+
)
|
| 421 |
+
inference = st.artifacts.LearnedCheckpointInferenceRecordV3.from_profile(
|
| 422 |
+
owner=owner, profile=profile
|
| 423 |
+
)
|
| 424 |
+
conversion = st.artifacts.LearnedCheckpointConversionEvidenceV2(
|
| 425 |
+
source=st.artifacts.LearnedCheckpointConversionSourceV2(
|
| 426 |
+
kind="figshare_checkpoint",
|
| 427 |
+
project="DeepDeWedge Tutorial Data",
|
| 428 |
+
identifier="45582309/tutorial_data/fitted_model.ckpt",
|
| 429 |
+
url="https://doi.org/10.6084/m9.figshare.25043435.v1",
|
| 430 |
+
revision=UPSTREAM_REVISION,
|
| 431 |
+
sha256=CHECKPOINT_SHA256,
|
| 432 |
+
metadata={
|
| 433 |
+
"archive_sha256": ARCHIVE_SHA256,
|
| 434 |
+
"archive_member": "tutorial_data/fitted_model.ckpt",
|
| 435 |
+
"checkpoint_size_bytes": CHECKPOINT_SIZE,
|
| 436 |
+
"upstream_repository": "https://github.com/MLI-lab/DeepDeWedge",
|
| 437 |
+
},
|
| 438 |
+
),
|
| 439 |
+
tool="deepdewedge_refresh_format2",
|
| 440 |
+
tool_version="1",
|
| 441 |
+
tensor_mappings=mappings,
|
| 442 |
+
environment={
|
| 443 |
+
"python": platform.python_version(),
|
| 444 |
+
"torch": torch.__version__,
|
| 445 |
+
"pytorch_lightning": pytorch_lightning.__version__,
|
| 446 |
+
"safetensors": safetensors.__version__,
|
| 447 |
+
"scitomo": st.__version__,
|
| 448 |
+
"scitomo_commit": "2832957f69daff0d7baec5df17a7c54954623eed",
|
| 449 |
+
"platform": platform.platform(),
|
| 450 |
+
},
|
| 451 |
+
)
|
| 452 |
+
validation = st.artifacts.LearnedCheckpointValidationEvidenceV2(
|
| 453 |
+
software=(
|
| 454 |
+
st.artifacts.LearnedCheckpointSoftware(name="scitomo", version=st.__version__),
|
| 455 |
+
st.artifacts.LearnedCheckpointSoftware(name="torch", version=torch.__version__),
|
| 456 |
+
st.artifacts.LearnedCheckpointSoftware(name="pytorch_lightning", version=pytorch_lightning.__version__),
|
| 457 |
+
st.artifacts.LearnedCheckpointSoftware(name="safetensors", version=safetensors.__version__),
|
| 458 |
+
),
|
| 459 |
+
cases=(
|
| 460 |
+
st.artifacts.LearnedCheckpointValidationCase(
|
| 461 |
+
name="authoritative_source_mapping", kind="state_mapping", status="passed",
|
| 462 |
+
metrics={"source_tensors": 56.0, "canonical_network_tensors": 54.0},
|
| 463 |
+
),
|
| 464 |
+
st.artifacts.LearnedCheckpointValidationCase(
|
| 465 |
+
name="external_fitted_affine_profile", kind="inference_profile", status="passed",
|
| 466 |
+
metrics={"network_affine_loc": fitted.network_affine_loc, "network_affine_scale": fitted.network_affine_scale},
|
| 467 |
+
),
|
| 468 |
+
st.artifacts.LearnedCheckpointValidationCase(
|
| 469 |
+
name="deterministic_forward_parity", kind="forward_parity", status="passed",
|
| 470 |
+
tolerances={"atol": 1.0e-6, "rtol": 1.0e-5}, metrics=parity,
|
| 471 |
+
),
|
| 472 |
+
),
|
| 473 |
+
)
|
| 474 |
+
exported = st.artifacts.export_learned_checkpoint_format2_package(
|
| 475 |
+
canonical,
|
| 476 |
+
construction=construction,
|
| 477 |
+
inference=inference,
|
| 478 |
+
package_id="deepdewedge_tutorial",
|
| 479 |
+
package_revision=3,
|
| 480 |
+
owner=owner,
|
| 481 |
+
requirements=st.artifacts.LearnedCheckpointFormat2Requirements(
|
| 482 |
+
minimum_scitomo_version="0.7.3"
|
| 483 |
+
),
|
| 484 |
+
validation=validation,
|
| 485 |
+
conversion=conversion,
|
| 486 |
+
resources=_resources(parity),
|
| 487 |
+
destination="package-fresh",
|
| 488 |
+
write_scope=st.core.WriteScope(st.core.WriteScopeKind.MODELS, ROOT),
|
| 489 |
+
provenance=st.artifacts.LearnedCheckpointProvenance(
|
| 490 |
+
sources=(
|
| 491 |
+
st.artifacts.LearnedCheckpointSource(
|
| 492 |
+
kind="upstream_repository", project="MLI-lab/DeepDeWedge",
|
| 493 |
+
identifier=UPSTREAM_REVISION,
|
| 494 |
+
url="https://github.com/MLI-lab/DeepDeWedge",
|
| 495 |
+
revision=UPSTREAM_REVISION,
|
| 496 |
+
),
|
| 497 |
+
),
|
| 498 |
+
citations=(
|
| 499 |
+
"https://doi.org/10.1038/s41467-024-51438-y",
|
| 500 |
+
"https://doi.org/10.6084/m9.figshare.25043435.v1",
|
| 501 |
+
),
|
| 502 |
+
),
|
| 503 |
+
)
|
| 504 |
+
_replace_hf_with_closed_package()
|
| 505 |
+
runtime_root = _runtime_view()
|
| 506 |
+
try:
|
| 507 |
+
package = st.artifacts.validate_learned_checkpoint_format2_package(runtime_root)
|
| 508 |
+
loaded = st.api.load_learned_network(
|
| 509 |
+
runtime_root,
|
| 510 |
+
context=st.network.NetworkBuildContext(
|
| 511 |
+
device=torch.device("cpu"), dtype=torch.float32, seed=29
|
| 512 |
+
),
|
| 513 |
+
expected_owner=owner,
|
| 514 |
+
expected_inference_profile=profile,
|
| 515 |
+
)
|
| 516 |
+
reloaded = st.network.canonical_network_state(loaded.network.module)
|
| 517 |
+
if set(reloaded) != set(canonical) or any(
|
| 518 |
+
not torch.equal(reloaded[name], canonical[name]) for name in canonical
|
| 519 |
+
):
|
| 520 |
+
raise RuntimeError("Reloaded FORMAT 2 state is not closed over canonical state.")
|
| 521 |
+
value = torch.arange(1 * 1 * 16 * 16 * 16, dtype=torch.float32).reshape(1, 1, 16, 16, 16)
|
| 522 |
+
value = value / 997.0 - 0.37
|
| 523 |
+
with torch.no_grad():
|
| 524 |
+
expected = source.unet(value)
|
| 525 |
+
actual = invoke_deepdewedge_network(
|
| 526 |
+
loaded.network.module, value, fitted=profile.fitted
|
| 527 |
+
)
|
| 528 |
+
torch.testing.assert_close(expected, actual, rtol=1.0e-5, atol=1.0e-6)
|
| 529 |
+
print(f"FORMAT 2 package validated at {TARGET}")
|
| 530 |
+
print(f"weights_sha256={package.manifest.files.weights.sha256}")
|
| 531 |
+
print(f"manifest_sha256={_digest(TARGET / 'manifest.json', 'sha256')}")
|
| 532 |
+
finally:
|
| 533 |
+
if RUNTIME_VIEW.exists():
|
| 534 |
+
shutil.rmtree(RUNTIME_VIEW)
|
| 535 |
+
|
| 536 |
+
|
| 537 |
+
if __name__ == "__main__":
|
| 538 |
+
main()
|
validation/validation-record.json
CHANGED
|
@@ -1,72 +1,66 @@
|
|
| 1 |
{
|
| 2 |
"cases": [
|
| 3 |
{
|
| 4 |
-
"evidence_sha256": [
|
| 5 |
-
|
| 6 |
-
],
|
| 7 |
-
"kind": "structural",
|
| 8 |
"metrics": {
|
| 9 |
-
"
|
|
|
|
| 10 |
},
|
| 11 |
-
"name": "
|
| 12 |
"status": "passed",
|
| 13 |
"tolerances": {}
|
| 14 |
},
|
| 15 |
{
|
| 16 |
-
"evidence_sha256": [
|
| 17 |
-
|
| 18 |
-
"baa30de9f48d992bf009893b48af9d19eeab34410e6cded99475f514fefefa8d"
|
| 19 |
-
],
|
| 20 |
-
"kind": "numerical",
|
| 21 |
"metrics": {
|
| 22 |
-
"
|
| 23 |
-
"
|
| 24 |
},
|
| 25 |
-
"name": "
|
| 26 |
"status": "passed",
|
| 27 |
-
"tolerances": {
|
| 28 |
-
"atol": 1e-06,
|
| 29 |
-
"rtol": 1e-05
|
| 30 |
-
}
|
| 31 |
},
|
| 32 |
{
|
| 33 |
-
"evidence_sha256": [
|
| 34 |
-
|
| 35 |
-
"baa30de9f48d992bf009893b48af9d19eeab34410e6cded99475f514fefefa8d"
|
| 36 |
-
],
|
| 37 |
-
"kind": "scientific",
|
| 38 |
"metrics": {
|
| 39 |
-
"
|
| 40 |
-
"
|
|
|
|
| 41 |
},
|
| 42 |
-
"name": "
|
| 43 |
"status": "passed",
|
| 44 |
"tolerances": {
|
| 45 |
"atol": 1e-06,
|
| 46 |
-
"relative_l2": 0.0001,
|
| 47 |
"rtol": 1e-05
|
| 48 |
}
|
| 49 |
}
|
| 50 |
],
|
| 51 |
-
"construction_fingerprint": "sha256:
|
| 52 |
-
"inference_fingerprint": "sha256:
|
| 53 |
"kind": "scitomo_checkpoint_validation",
|
| 54 |
"package_id": "deepdewedge_tutorial",
|
| 55 |
-
"package_revision":
|
| 56 |
-
"schema_version":
|
| 57 |
"software": [
|
| 58 |
{
|
| 59 |
"name": "scitomo",
|
| 60 |
-
"version": "0.
|
| 61 |
},
|
| 62 |
{
|
| 63 |
"name": "torch",
|
| 64 |
-
"version": "2.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
},
|
| 66 |
{
|
| 67 |
-
"name": "
|
| 68 |
-
"version": "
|
| 69 |
}
|
| 70 |
],
|
| 71 |
-
"weights_sha256": "
|
| 72 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"cases": [
|
| 3 |
{
|
| 4 |
+
"evidence_sha256": [],
|
| 5 |
+
"kind": "state_mapping",
|
|
|
|
|
|
|
| 6 |
"metrics": {
|
| 7 |
+
"canonical_network_tensors": 54.0,
|
| 8 |
+
"source_tensors": 56.0
|
| 9 |
},
|
| 10 |
+
"name": "authoritative_source_mapping",
|
| 11 |
"status": "passed",
|
| 12 |
"tolerances": {}
|
| 13 |
},
|
| 14 |
{
|
| 15 |
+
"evidence_sha256": [],
|
| 16 |
+
"kind": "inference_profile",
|
|
|
|
|
|
|
|
|
|
| 17 |
"metrics": {
|
| 18 |
+
"network_affine_loc": -0.1489875167608261,
|
| 19 |
+
"network_affine_scale": 1.3237642049789429
|
| 20 |
},
|
| 21 |
+
"name": "external_fitted_affine_profile",
|
| 22 |
"status": "passed",
|
| 23 |
+
"tolerances": {}
|
|
|
|
|
|
|
|
|
|
| 24 |
},
|
| 25 |
{
|
| 26 |
+
"evidence_sha256": [],
|
| 27 |
+
"kind": "forward_parity",
|
|
|
|
|
|
|
|
|
|
| 28 |
"metrics": {
|
| 29 |
+
"input_elements": 4096.0,
|
| 30 |
+
"max_abs_error": 0.0,
|
| 31 |
+
"relative_l2_error": 0.0
|
| 32 |
},
|
| 33 |
+
"name": "deterministic_forward_parity",
|
| 34 |
"status": "passed",
|
| 35 |
"tolerances": {
|
| 36 |
"atol": 1e-06,
|
|
|
|
| 37 |
"rtol": 1e-05
|
| 38 |
}
|
| 39 |
}
|
| 40 |
],
|
| 41 |
+
"construction_fingerprint": "sha256:644b162de70d014f9273c992fd583ee4fdfb8ae425a35fba26b3fbd41d560f28",
|
| 42 |
+
"inference_fingerprint": "sha256:dd4d9b190f9e3a0c94a0da2d383f5dc42aaa0ac888dcec760d57b4cf5362aabd",
|
| 43 |
"kind": "scitomo_checkpoint_validation",
|
| 44 |
"package_id": "deepdewedge_tutorial",
|
| 45 |
+
"package_revision": 3,
|
| 46 |
+
"schema_version": 2,
|
| 47 |
"software": [
|
| 48 |
{
|
| 49 |
"name": "scitomo",
|
| 50 |
+
"version": "0.7.3.dev0"
|
| 51 |
},
|
| 52 |
{
|
| 53 |
"name": "torch",
|
| 54 |
+
"version": "2.12.1+cpu"
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"name": "pytorch_lightning",
|
| 58 |
+
"version": "2.6.5"
|
| 59 |
},
|
| 60 |
{
|
| 61 |
+
"name": "safetensors",
|
| 62 |
+
"version": "0.8.0"
|
| 63 |
}
|
| 64 |
],
|
| 65 |
+
"weights_sha256": "e8f51c499d6e5c14ddce45d5cf9935511220de161ce62deb50a2c3a8cae5c731"
|
| 66 |
}
|
weights.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e8f51c499d6e5c14ddce45d5cf9935511220de161ce62deb50a2c3a8cae5c731
|
| 3 |
+
size 109294372
|