Add QuickSRNet Medium 2x weights
Browse files- .gitattributes +35 -35
- LICENSE +29 -0
- LibreQuickSRNetm2-restore.pt +3 -0
- NOTICE +27 -0
- README.md +79 -0
.gitattributes
CHANGED
|
@@ -1,35 +1,35 @@
|
|
| 1 |
-
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
-
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
-
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
-
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
-
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
-
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
-
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
-
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
-
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
-
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
-
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
-
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
-
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
-
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
-
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
-
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
-
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
-
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
-
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
-
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
-
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
-
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
-
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
-
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
-
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
-
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
-
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
-
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
-
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
BSD 3-Clause License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2018, the respective contributors, as shown by the AUTHORS file.
|
| 4 |
+
All rights reserved.
|
| 5 |
+
|
| 6 |
+
Redistribution and use in source and binary forms, with or without
|
| 7 |
+
modification, are permitted provided that the following conditions are met:
|
| 8 |
+
|
| 9 |
+
* Redistributions of source code must retain the above copyright notice, this
|
| 10 |
+
list of conditions and the following disclaimer.
|
| 11 |
+
|
| 12 |
+
* Redistributions in binary form must reproduce the above copyright notice,
|
| 13 |
+
this list of conditions and the following disclaimer in the documentation
|
| 14 |
+
and/or other materials provided with the distribution.
|
| 15 |
+
|
| 16 |
+
* Neither the name of the copyright holder nor the names of its
|
| 17 |
+
contributors may be used to endorse or promote products derived from
|
| 18 |
+
this software without specific prior written permission.
|
| 19 |
+
|
| 20 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
| 21 |
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| 22 |
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| 23 |
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
| 24 |
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
| 25 |
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
| 26 |
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
| 27 |
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
| 28 |
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 29 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
LibreQuickSRNetm2-restore.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f779b461d200704ab82904a110aaa37f41e8258b285e02b7e413b955deb150b
|
| 3 |
+
size 208945
|
NOTICE
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LibreQuickSRNetm2-restore weights
|
| 2 |
+
---------------------------------
|
| 3 |
+
|
| 4 |
+
Architecture and checkpoint source:
|
| 5 |
+
https://github.com/quic/aimet-model-zoo
|
| 6 |
+
commit: 1bd2bf5b17cdda9251437c444009b29e1a25054b
|
| 7 |
+
license: BSD-3-Clause
|
| 8 |
+
copyright: Copyright (c) 2022 Qualcomm Innovation Center, Inc.
|
| 9 |
+
|
| 10 |
+
Maintained integration audited for current metadata:
|
| 11 |
+
https://github.com/qualcomm/ai-hub-models
|
| 12 |
+
commit: 16dbeb5e2805d4ada7218026de72e36878717d46
|
| 13 |
+
license: BSD-3-Clause
|
| 14 |
+
copyright: Copyright (c) 2025 Qualcomm Technologies, Inc. and/or its subsidiaries.
|
| 15 |
+
|
| 16 |
+
Official source artifact:
|
| 17 |
+
https://github.com/quic/aimet-model-zoo/releases/download/phase_2_january_artifacts/quicksrnet_medium_2x_checkpoint_float32.pth.tar
|
| 18 |
+
SHA-256: a0d176b40a649e45a176c3b53f45e0237015f4f2c17b157ef5c81e38c4442a0d
|
| 19 |
+
|
| 20 |
+
Converted artifact:
|
| 21 |
+
LibreQuickSRNetm2-restore.pt
|
| 22 |
+
SHA-256: 3f779b461d200704ab82904a110aaa37f41e8258b285e02b7e413b955deb150b
|
| 23 |
+
|
| 24 |
+
Conversion preserves all 14 learned tensors unchanged, discards training-only
|
| 25 |
+
optimizer and history objects, and adds LibreYOLO checkpoint metadata. The
|
| 26 |
+
model was trained on DIV2K. The dataset is provenance only and is not included
|
| 27 |
+
in this repository.
|
README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: bsd-3-clause
|
| 3 |
+
library_name: libreyolo
|
| 4 |
+
tags:
|
| 5 |
+
- super-resolution
|
| 6 |
+
- image-to-image
|
| 7 |
+
- quicksrnet
|
| 8 |
+
- real-time
|
| 9 |
+
pipeline_tag: image-to-image
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# LibreQuickSRNetm2-restore
|
| 13 |
+
|
| 14 |
+
QuickSRNet Medium 2x compact real-time super-resolution, packaged for
|
| 15 |
+
LibreYOLO. It has 50,604 parameters and produces an RGB image at twice the
|
| 16 |
+
input height and width.
|
| 17 |
+
|
| 18 |
+
## Source
|
| 19 |
+
|
| 20 |
+
The architecture and official checkpoint come from
|
| 21 |
+
[quic/aimet-model-zoo](https://github.com/quic/aimet-model-zoo/tree/1bd2bf5b17cdda9251437c444009b29e1a25054b/aimet_zoo_torch/quicksrnet)
|
| 22 |
+
at commit `1bd2bf5b17cdda9251437c444009b29e1a25054b`, BSD-3-Clause.
|
| 23 |
+
Copyright (c) 2022 Qualcomm Innovation Center, Inc.
|
| 24 |
+
|
| 25 |
+
The maintained Qualcomm integration was verified against
|
| 26 |
+
[qualcomm/ai-hub-models](https://github.com/qualcomm/ai-hub-models/tree/16dbeb5e2805d4ada7218026de72e36878717d46/src/qai_hub_models/models/quicksrnetmedium)
|
| 27 |
+
at commit `16dbeb5e2805d4ada7218026de72e36878717d46`, BSD-3-Clause.
|
| 28 |
+
|
| 29 |
+
Official source artifact:
|
| 30 |
+
`quicksrnet_medium_2x_checkpoint_float32.pth.tar`
|
| 31 |
+
|
| 32 |
+
SHA-256:
|
| 33 |
+
`a0d176b40a649e45a176c3b53f45e0237015f4f2c17b157ef5c81e38c4442a0d`
|
| 34 |
+
|
| 35 |
+
The model card records DIV2K as the training dataset.
|
| 36 |
+
|
| 37 |
+
## Modifications
|
| 38 |
+
|
| 39 |
+
The 14 learned state-dict tensors are unchanged. Conversion discards the
|
| 40 |
+
training-only epoch, optimizer, PSNR, and SSIM objects, then wraps the tensors
|
| 41 |
+
in the LibreYOLO v1.0 checkpoint schema with `task=restore`, `size=m2`, and
|
| 42 |
+
`scale=2`. FP32 tensor output matches the pinned upstream implementation
|
| 43 |
+
exactly (`max_abs_diff == 0`).
|
| 44 |
+
|
| 45 |
+
Converted checkpoint SHA-256:
|
| 46 |
+
`3f779b461d200704ab82904a110aaa37f41e8258b285e02b7e413b955deb150b`
|
| 47 |
+
|
| 48 |
+
## Usage
|
| 49 |
+
|
| 50 |
+
```python
|
| 51 |
+
from libreyolo import LibreYOLO
|
| 52 |
+
|
| 53 |
+
model = LibreYOLO("LibreQuickSRNetm2-restore.pt")
|
| 54 |
+
result = model.predict("small.jpg")
|
| 55 |
+
print(result.restore_scale) # 2
|
| 56 |
+
result.save("upscaled.png")
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
Native PyTorch prediction accepts arbitrary positive image dimensions. Dynamic
|
| 60 |
+
spatial ONNX and fixed-canvas TorchScript export are supported.
|
| 61 |
+
|
| 62 |
+
## Reference latency
|
| 63 |
+
|
| 64 |
+
Synchronized model-forward timings on an NVIDIA GeForce RTX 5070 Ti with
|
| 65 |
+
PyTorch 2.11.0 and CUDA 12.8, batch 1, cuDNN benchmarking enabled, 10 warmups,
|
| 66 |
+
and 30 timed iterations:
|
| 67 |
+
|
| 68 |
+
| Input to output | Precision | Median | p95 |
|
| 69 |
+
|---|---|---:|---:|
|
| 70 |
+
| 360p to 720p | FP32 | 1.746 ms | 1.770 ms |
|
| 71 |
+
| 360p to 720p | FP16 | 0.937 ms | 0.966 ms |
|
| 72 |
+
| 720p to 1440p | FP32 | 10.536 ms | 10.931 ms |
|
| 73 |
+
| 720p to 1440p | FP16 | 5.437 ms | 5.855 ms |
|
| 74 |
+
|
| 75 |
+
Image decoding, transfer, and result conversion are excluded.
|
| 76 |
+
|
| 77 |
+
## License
|
| 78 |
+
|
| 79 |
+
BSD 3-Clause. See [`LICENSE`](./LICENSE) and [`NOTICE`](./NOTICE).
|