Skip to content

Commit eff64bc

Browse files
committed
vs: k7sfunc 更新 0.9.7
移除多个 UAI 相关模块中的 `clamp` 参数,将其转换为独立的辅助函数。 完善依赖检查。
1 parent 5764d2f commit eff64bc

4 files changed

Lines changed: 24 additions & 23 deletions

File tree

k7sfunc.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
### 文档: https://github.com/hooke007/mpv_PlayKit/wiki/3_K7sfunc
33
##################################################
44

5-
__version__ = "0.9.5"
5+
__version__ = "0.9.7"
66

77
__all__ = [
88
"FMT_CHANGE", "FMT_CTRL",
@@ -284,7 +284,7 @@ def _check_script(
284284
script_var = __import__(script_name)
285285
globals()[script_name] = script_var
286286
except ImportError :
287-
raise ImportError(f"模块 {func_name} 依赖错误:缺失脚本 {script_name}")
287+
raise ImportError(f"模块 {func_name} 依赖错误:缺失库 {script_name}")
288288
if min_version is not None :
289289
if LooseVersion(script_var.__version__) < LooseVersion(min_version) :
290290
raise ImportError(f"模块 {func_name} 依赖错误:缺失脚本 {script_name} 的版本号过低,至少 {min_version}")
@@ -667,6 +667,21 @@ def ONNX_ANZ(
667667

668668
return elem_type
669669

670+
##################################################
671+
## 像素值限制 # helper
672+
##################################################
673+
674+
def PIX_CLP(
675+
input : vs.VideoNode,
676+
) -> vs.VideoNode :
677+
678+
func_name = "PIX_CLP"
679+
_check_plugin(func_name, "akarin")
680+
681+
output = core.akarin.Expr(clips=input, expr="x 0 1 clamp")
682+
683+
return output
684+
670685
##################################################
671686
## 场景检测 # helper
672687
##################################################
@@ -841,6 +856,7 @@ def ARTCNN_NV(
841856
_validate_vs_threads(func_name, vs_t)
842857

843858
_check_plugin(func_name, "trt")
859+
_check_plugin(func_name, "akarin")
844860

845861
plg_dir = os.path.dirname(core.trt.Version()["path"]).decode()
846862
mdl_fname = ["ArtCNN_R16F96", "ArtCNN_R8F64", "ArtCNN_R8F64_DS"][[6, 7, 8].index(model)]
@@ -905,6 +921,7 @@ def CUGAN_NV(
905921
_validate_vs_threads(func_name, vs_t)
906922

907923
_check_plugin(func_name, "trt")
924+
_check_plugin(func_name, "akarin")
908925

909926
plg_dir = os.path.dirname(core.trt.Version()["path"]).decode()
910927
mdl_fname = ["pro-no-denoise3x-up2x", "pro-conservative-up2x", "pro-denoise3x-up2x"][[-1, 0, 3].index(nr_lv)]
@@ -1628,6 +1645,7 @@ def DPIR_DBLK_NV(
16281645
_validate_vs_threads(func_name, vs_t)
16291646

16301647
_check_plugin(func_name, "trt")
1648+
_check_plugin(func_name, "akarin")
16311649

16321650
plg_dir = os.path.dirname(core.trt.Version()["path"]).decode()
16331651
mdl_fname = ["drunet_deblocking_grayscale", "drunet_deblocking_color"][[2, 3].index(model)]
@@ -1935,6 +1953,7 @@ def DPIR_NR_NV(
19351953
_validate_vs_threads(func_name, vs_t)
19361954

19371955
_check_plugin(func_name, "trt")
1956+
_check_plugin(func_name, "akarin")
19381957

19391958
plg_dir = os.path.dirname(core.trt.Version()["path"]).decode()
19401959
mdl_fname = ["drunet_gray", "drunet_color"][[0, 1].index(model)]
@@ -2605,7 +2624,6 @@ def _Stab(clp, dxmax=4, dymax=4, mirror=0) :
26052624

26062625
def UAI_DML(
26072626
input : vs.VideoNode,
2608-
clamp : bool = False,
26092627
crc : bool = False,
26102628
model_pth : str = "",
26112629
fp16_qnt : bool = True,
@@ -2616,7 +2634,6 @@ def UAI_DML(
26162634

26172635
func_name = "UAI_DML"
26182636
_validate_input_clip(func_name, input)
2619-
_validate_bool(func_name, "clamp", clamp)
26202637
_validate_bool(func_name, "crc", crc)
26212638
_validate_string_length(func_name, "model_pth", model_pth, 5)
26222639
_validate_bool(func_name, "fp16_qnt", fp16_qnt)
@@ -2625,8 +2642,6 @@ def UAI_DML(
26252642
_validate_vs_threads(func_name, vs_t)
26262643

26272644
_check_plugin(func_name, "ort")
2628-
if clamp :
2629-
_check_plugin(func_name, "akarin")
26302645

26312646
plg_dir = os.path.dirname(core.ort.Version()["path"]).decode()
26322647
mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2652,8 +2667,6 @@ def UAI_DML(
26522667
fp16_qnt = False ### ort对于fp16模型自动使用对应的IO
26532668

26542669
clip = core.resize.Bilinear(clip=input, format=vs.RGBH if fp16_mdl else vs.RGBS, matrix_in_s="709")
2655-
if clamp :
2656-
clip = core.akarin.Expr(clips=clip, expr="x 0 1 clamp")
26572670
be_param = vsmlrt.BackendV2.ORT_DML(device_id=gpu, num_streams=gpu_t, fp16=fp16_qnt)
26582671
infer = vsmlrt.inference(clips=clip, network_path=mdl_pth, backend=be_param)
26592672

@@ -2669,7 +2682,6 @@ def UAI_DML(
26692682

26702683
def UAI_MIGX(
26712684
input : vs.VideoNode,
2672-
clamp : bool = False,
26732685
crc : bool = False,
26742686
model_pth : str = "",
26752687
fp16_qnt : bool = True,
@@ -2681,7 +2693,6 @@ def UAI_MIGX(
26812693

26822694
func_name = "UAI_MIGX"
26832695
_validate_input_clip(func_name, input)
2684-
_validate_bool(func_name, "clamp", clamp)
26852696
_validate_bool(func_name, "crc", crc)
26862697
_validate_string_length(func_name, "model_pth", model_pth, 5)
26872698
_validate_bool(func_name, "fp16_qnt", fp16_qnt)
@@ -2691,8 +2702,6 @@ def UAI_MIGX(
26912702
_validate_vs_threads(func_name, vs_t)
26922703

26932704
_check_plugin(func_name, "migx")
2694-
if clamp :
2695-
_check_plugin(func_name, "akarin")
26962705

26972706
plg_dir = os.path.dirname(core.migx.Version()["path"]).decode()
26982707
mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2718,8 +2727,6 @@ def UAI_MIGX(
27182727
fp16_qnt = True ### 量化精度与模型精度匹配
27192728

27202729
clip = core.resize.Bilinear(clip=input, format=vs.RGBH if fp16_qnt else vs.RGBS, matrix_in_s="709")
2721-
if clamp :
2722-
clip = core.akarin.Expr(clips=clip, expr="x 0 1 clamp")
27232730
be_param = vsmlrt.BackendV2.MIGX(
27242731
fp16=fp16_qnt, exhaustive_tune=exh_tune, opt_shapes=[clip.width, clip.height],
27252732
device_id=gpu, num_streams=gpu_t, short_path=True)
@@ -2737,7 +2744,6 @@ def UAI_MIGX(
27372744

27382745
def UAI_NV_TRT(
27392746
input : vs.VideoNode,
2740-
clamp : bool = False,
27412747
crc : bool = False,
27422748
model_pth : str = "",
27432749
opt_lv : typing.Literal[0, 1, 2, 3, 4, 5] = 3,
@@ -2755,7 +2761,6 @@ def UAI_NV_TRT(
27552761

27562762
func_name = "UAI_NV_TRT"
27572763
_validate_input_clip(func_name, input)
2758-
_validate_bool(func_name, "clamp", clamp)
27592764
_validate_bool(func_name, "crc", crc)
27602765
_validate_string_length(func_name, "model_pth", model_pth, 5)
27612766
_validate_literal(func_name, "opt_lv", opt_lv, [0, 1, 2, 3, 4, 5])
@@ -2778,8 +2783,6 @@ def UAI_NV_TRT(
27782783
_validate_vs_threads(func_name, vs_t)
27792784

27802785
_check_plugin(func_name, "trt")
2781-
if clamp :
2782-
_check_plugin(func_name, "akarin")
27832786

27842787
plg_dir = os.path.dirname(core.trt.Version()["path"]).decode()
27852788
mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2809,8 +2812,6 @@ def UAI_NV_TRT(
28092812
fp16_qnt = True
28102813

28112814
clip = core.resize.Bilinear(clip=input, format=vs.RGBH if fp16_qnt else vs.RGBS, matrix_in_s="709")
2812-
if clamp :
2813-
clip = core.akarin.Expr(clips=clip, expr="x 0 1 clamp")
28142815
be_param = vsmlrt.BackendV2.TRT(
28152816
builder_optimization_level=opt_lv, short_path=True, device_id=gpu,
28162817
num_streams=gpu_t, use_cuda_graph=nv1, use_cublas=nv2, use_cudnn=nv3,

portable_config/vs/MIX_UAI_DML.vpy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Lk_Fmt = False
2929

3030
ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
3131
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
32-
clip = k7f.UAI_DML(clip, clamp=False, crc=False, model_pth=Model, fp16_qnt=Fp16_Qnt, gpu=Gpu, gpu_t=Gpu_T)
32+
clip = k7f.UAI_DML(clip, crc=False, model_pth=Model, fp16_qnt=Fp16_Qnt, gpu=Gpu, gpu_t=Gpu_T)
3333
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)
3434

3535
clip.set_output()

portable_config/vs/MIX_UAI_MIGX.vpy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Lk_Fmt = False
3131

3232
ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
3333
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
34-
clip = k7f.UAI_MIGX(clip, clamp=False, crc=False, model_pth=Model, fp16_qnt=Fp16_Qnt, exh_tune=Exh_Tune, gpu=Gpu, gpu_t=Gpu_T)
34+
clip = k7f.UAI_MIGX(clip, crc=False, model_pth=Model, fp16_qnt=Fp16_Qnt, exh_tune=Exh_Tune, gpu=Gpu, gpu_t=Gpu_T)
3535
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)
3636

3737
clip.set_output()

portable_config/vs/MIX_UAI_NV_TRT.vpy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Lk_Fmt = False
3737

3838
ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
3939
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
40-
clip = k7f.UAI_NV_TRT(clip, clamp=False, crc=False, model_pth=Model, opt_lv=3, cuda_opt=[0, 0, 0], int8_qnt=False, fp16_qnt=Fp16_Qnt, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, res_opt=Res_Opt, res_max=Res_Max, ws_size=Ws_Size)
40+
clip = k7f.UAI_NV_TRT(clip, crc=False, model_pth=Model, opt_lv=3, cuda_opt=[0, 0, 0], int8_qnt=False, fp16_qnt=Fp16_Qnt, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, res_opt=Res_Opt, res_max=Res_Max, ws_size=Ws_Size)
4141
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)
4242

4343
clip.set_output()

0 commit comments

Comments
 (0)