add 4x OTF GAN model + ONNX + ncnn (showcase)
Browse files
README.md
CHANGED
|
@@ -82,19 +82,20 @@ fused/unfused weights.
|
|
| 82 |
| `models/2x_NERVE_release.safetensors` | **2x official pretrain** | clean bicubic, 31.84 dB / 0.9255 SSIM (Urban100) |
|
| 83 |
| `models/4x_NERVE_release.safetensors` | **4x official pretrain** | clean bicubic, 25.09 dB / 0.7531 SSIM (Urban100) |
|
| 84 |
| `models/4x_NERVE_OTF_fidelity.safetensors` | 4x OTF fidelity | restore degraded input; the pretrain for OTF GAN finetunes |
|
| 85 |
-
| `models/4x_NERVE_OTF_gan.safetensors` | 4x OTF GAN | **sharpest real-world output** |
|
| 86 |
| `onnx/4x_NERVE_1x3xHxW_fp32_op20.onnx` | 4x release, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 87 |
| `onnx/2x_NERVE_1x3xHxW_fp32_op20.onnx` | 2x release, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 88 |
| `onnx/4x_NERVE_OTF_fidelity_1x3xHxW_fp32_op20.onnx` | 4x OTF fidelity, dynamic ONNX | onnxslim-optimized, fp32 |
|
|
|
|
| 89 |
| `ncnn/4x_NERVE_fp16.ncnn.param` + `.bin` | 4x release, ncnn | fp16 weights |
|
| 90 |
| `ncnn/2x_NERVE_fp16.ncnn.param` + `.bin` | 2x release, ncnn | fp16 weights |
|
| 91 |
| `ncnn/4x_NERVE_OTF_fidelity_fp16.ncnn.param` + `.bin` | 4x OTF fidelity, ncnn | fp16 weights |
|
|
|
|
| 92 |
|
| 93 |
`models/*.safetensors` are plain EMA state dicts (no wrapper) — load them with
|
| 94 |
`nerve_arch.nerve(scale=N)`.
|
| 95 |
|
| 96 |
-
|
| 97 |
-
(showcase) model is added as soon as its training finishes.
|
| 98 |
|
| 99 |
**Pretrain chain** (how the models relate):
|
| 100 |
|
|
|
|
| 82 |
| `models/2x_NERVE_release.safetensors` | **2x official pretrain** | clean bicubic, 31.84 dB / 0.9255 SSIM (Urban100) |
|
| 83 |
| `models/4x_NERVE_release.safetensors` | **4x official pretrain** | clean bicubic, 25.09 dB / 0.7531 SSIM (Urban100) |
|
| 84 |
| `models/4x_NERVE_OTF_fidelity.safetensors` | 4x OTF fidelity | restore degraded input; the pretrain for OTF GAN finetunes |
|
| 85 |
+
| `models/4x_NERVE_OTF_gan.safetensors` | 4x OTF GAN | **sharpest real-world output** (topiq 0.430 / lpips 0.290) |
|
| 86 |
| `onnx/4x_NERVE_1x3xHxW_fp32_op20.onnx` | 4x release, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 87 |
| `onnx/2x_NERVE_1x3xHxW_fp32_op20.onnx` | 2x release, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 88 |
| `onnx/4x_NERVE_OTF_fidelity_1x3xHxW_fp32_op20.onnx` | 4x OTF fidelity, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 89 |
+
| `onnx/4x_NERVE_OTF_gan_1x3xHxW_fp32_op20.onnx` | 4x OTF GAN, dynamic ONNX | onnxslim-optimized, fp32 |
|
| 90 |
| `ncnn/4x_NERVE_fp16.ncnn.param` + `.bin` | 4x release, ncnn | fp16 weights |
|
| 91 |
| `ncnn/2x_NERVE_fp16.ncnn.param` + `.bin` | 2x release, ncnn | fp16 weights |
|
| 92 |
| `ncnn/4x_NERVE_OTF_fidelity_fp16.ncnn.param` + `.bin` | 4x OTF fidelity, ncnn | fp16 weights |
|
| 93 |
+
| `ncnn/4x_NERVE_OTF_gan_fp16.ncnn.param` + `.bin` | 4x OTF GAN, ncnn | fp16 weights |
|
| 94 |
|
| 95 |
`models/*.safetensors` are plain EMA state dicts (no wrapper) — load them with
|
| 96 |
`nerve_arch.nerve(scale=N)`.
|
| 97 |
|
| 98 |
+
All released models (2x/4x release, 4x OTF fidelity, 4x OTF GAN) are final.
|
|
|
|
| 99 |
|
| 100 |
**Pretrain chain** (how the models relate):
|
| 101 |
|
models/4x_NERVE_OTF_gan.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b1c0c041293ec0d327ee3b59253cd27177190c403760fe1f0e8f88084e6a2faf
|
| 3 |
+
size 7212448
|
ncnn/4x_NERVE_OTF_gan_fp16.ncnn.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d1738279aacdb81a9ccfee962a76aa2e8c9db45fe45f4ac62c90d4d9a55c8945
|
| 3 |
+
size 3604040
|
ncnn/4x_NERVE_OTF_gan_fp16.ncnn.param
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
7767517
|
| 2 |
+
104 130
|
| 3 |
+
Input in0 0 1 in0
|
| 4 |
+
Split splitncnn_0 1 2 in0 1 2
|
| 5 |
+
Convolution conv_26 1 1 2 3 0=64 1=5 11=5 12=1 13=1 14=2 2=1 3=1 4=2 5=0 6=4800
|
| 6 |
+
Split splitncnn_1 1 3 3 4 5 6
|
| 7 |
+
Interp interpolate_0 1 1 1 7 0=3 1=4.0 2=4.0 6=0
|
| 8 |
+
Convolution convrelu_0 1 1 6 8 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 9 |
+
Convolution conv_28 1 1 8 9 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 10 |
+
BinaryOp add_0 2 1 4 9 10 0=0
|
| 11 |
+
Split splitncnn_2 1 2 10 11 12
|
| 12 |
+
Convolution convrelu_1 1 1 12 13 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 13 |
+
Convolution conv_30 1 1 13 14 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 14 |
+
BinaryOp add_1 2 1 11 14 15 0=0
|
| 15 |
+
Split splitncnn_3 1 2 15 16 17
|
| 16 |
+
Convolution convrelu_2 1 1 17 18 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 17 |
+
Convolution conv_32 1 1 18 19 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 18 |
+
BinaryOp add_2 2 1 16 19 20 0=0
|
| 19 |
+
Split splitncnn_4 1 2 20 21 22
|
| 20 |
+
Convolution convrelu_3 1 1 22 23 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 21 |
+
Convolution conv_34 1 1 23 24 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 22 |
+
BinaryOp add_3 2 1 21 24 25 0=0
|
| 23 |
+
Split splitncnn_5 1 2 25 26 27
|
| 24 |
+
Convolution convrelu_4 1 1 27 28 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 25 |
+
Convolution conv_36 1 1 28 29 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 26 |
+
BinaryOp add_4 2 1 26 29 30 0=0
|
| 27 |
+
Split splitncnn_6 1 2 30 31 32
|
| 28 |
+
Convolution convrelu_5 1 1 32 33 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 29 |
+
Convolution conv_38 1 1 33 34 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 30 |
+
BinaryOp add_5 2 1 31 34 35 0=0
|
| 31 |
+
Split splitncnn_7 1 2 35 36 37
|
| 32 |
+
Convolution convrelu_6 1 1 37 38 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 33 |
+
Convolution conv_40 1 1 38 39 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 34 |
+
BinaryOp add_6 2 1 36 39 40 0=0
|
| 35 |
+
Split splitncnn_8 1 2 40 41 42
|
| 36 |
+
Convolution convrelu_7 1 1 42 43 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 37 |
+
Convolution conv_42 1 1 43 44 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 38 |
+
BinaryOp add_7 2 1 41 44 45 0=0
|
| 39 |
+
Split splitncnn_9 1 2 45 46 47
|
| 40 |
+
Convolution convrelu_8 1 1 47 48 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 41 |
+
Convolution conv_44 1 1 48 49 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 42 |
+
BinaryOp add_8 2 1 46 49 50 0=0
|
| 43 |
+
Split splitncnn_10 1 2 50 51 52
|
| 44 |
+
Convolution convrelu_9 1 1 52 53 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 45 |
+
Convolution conv_46 1 1 53 54 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 46 |
+
BinaryOp add_9 2 1 51 54 55 0=0
|
| 47 |
+
Split splitncnn_11 1 2 55 56 57
|
| 48 |
+
Convolution convrelu_10 1 1 57 58 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 49 |
+
Convolution conv_48 1 1 58 59 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 50 |
+
BinaryOp add_10 2 1 56 59 60 0=0
|
| 51 |
+
Split splitncnn_12 1 2 60 61 62
|
| 52 |
+
Convolution convrelu_11 1 1 62 63 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 53 |
+
Convolution conv_50 1 1 63 64 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 54 |
+
BinaryOp add_11 2 1 61 64 65 0=0
|
| 55 |
+
Split splitncnn_13 1 2 65 66 67
|
| 56 |
+
Convolution convrelu_12 1 1 67 68 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 57 |
+
Convolution conv_52 1 1 68 69 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 58 |
+
BinaryOp add_12 2 1 66 69 70 0=0
|
| 59 |
+
Split splitncnn_14 1 2 70 71 72
|
| 60 |
+
Convolution convrelu_13 1 1 72 73 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 61 |
+
Convolution conv_54 1 1 73 74 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 62 |
+
BinaryOp add_13 2 1 71 74 75 0=0
|
| 63 |
+
Split splitncnn_15 1 2 75 76 77
|
| 64 |
+
Convolution convrelu_14 1 1 77 78 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 65 |
+
Convolution conv_56 1 1 78 79 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 66 |
+
BinaryOp add_14 2 1 76 79 80 0=0
|
| 67 |
+
Split splitncnn_16 1 2 80 81 82
|
| 68 |
+
Convolution convrelu_15 1 1 82 83 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 69 |
+
Convolution conv_58 1 1 83 84 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 70 |
+
BinaryOp add_15 2 1 81 84 85 0=0
|
| 71 |
+
Split splitncnn_17 1 2 85 86 87
|
| 72 |
+
Convolution convrelu_16 1 1 87 88 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 73 |
+
Convolution conv_60 1 1 88 89 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 74 |
+
BinaryOp add_16 2 1 86 89 90 0=0
|
| 75 |
+
Split splitncnn_18 1 2 90 91 92
|
| 76 |
+
Convolution convrelu_17 1 1 92 93 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 77 |
+
Convolution conv_62 1 1 93 94 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 78 |
+
BinaryOp add_17 2 1 91 94 95 0=0
|
| 79 |
+
Split splitncnn_19 1 2 95 96 97
|
| 80 |
+
Convolution convrelu_18 1 1 97 98 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 81 |
+
Convolution conv_64 1 1 98 99 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 82 |
+
BinaryOp add_18 2 1 96 99 100 0=0
|
| 83 |
+
Split splitncnn_20 1 2 100 101 102
|
| 84 |
+
Convolution convrelu_19 1 1 102 103 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 85 |
+
Convolution conv_66 1 1 103 104 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 86 |
+
BinaryOp add_19 2 1 101 104 105 0=0
|
| 87 |
+
Split splitncnn_21 1 2 105 106 107
|
| 88 |
+
Convolution convrelu_20 1 1 107 108 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 89 |
+
Convolution conv_68 1 1 108 109 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 90 |
+
BinaryOp add_20 2 1 106 109 110 0=0
|
| 91 |
+
Split splitncnn_22 1 2 110 111 112
|
| 92 |
+
Convolution convrelu_21 1 1 112 113 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 93 |
+
Convolution conv_70 1 1 113 114 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 94 |
+
BinaryOp add_21 2 1 111 114 115 0=0
|
| 95 |
+
Split splitncnn_23 1 2 115 116 117
|
| 96 |
+
Convolution convrelu_22 1 1 117 118 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 97 |
+
Convolution conv_72 1 1 118 119 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 98 |
+
BinaryOp add_22 2 1 116 119 120 0=0
|
| 99 |
+
Split splitncnn_24 1 2 120 121 122
|
| 100 |
+
Convolution convrelu_23 1 1 122 123 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864 9=1
|
| 101 |
+
Convolution conv_74 1 1 123 124 0=64 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=36864
|
| 102 |
+
BinaryOp add_23 2 1 121 124 125 0=0
|
| 103 |
+
BinaryOp add_24 2 1 5 125 126 0=0
|
| 104 |
+
Convolution conv_75 1 1 126 127 0=48 1=3 11=3 12=1 13=1 14=1 2=1 3=1 4=1 5=0 6=27648
|
| 105 |
+
PixelShuffle pixel_shuffle_1 1 1 127 128 0=4 1=0
|
| 106 |
+
BinaryOp add_25 2 1 128 7 out0 0=0
|
onnx/4x_NERVE_OTF_gan_1x3xHxW_fp32_op20.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cb2513d504cdec4694d82c8a226609f75b684963d5f44b1a482987fa987fcdb2
|
| 3 |
+
size 7228477
|