From 5380d9973f1739934e7962f1ab3a8c5d36e2c9af Mon Sep 17 00:00:00 2001 From: imeepos Date: Fri, 15 Aug 2025 15:04:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84Topaz=20Video=20AI=20?= =?UTF-8?q?SDK=E5=B9=B6=E9=87=8D=E6=96=B0=E7=BB=84=E7=BB=87models=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要改进: AI引擎和基准测试支持: - 完整支持所有AI引擎标志 (Artemis, Gaia, Theia, Proteus, Iris) - 实现引擎特定的参数优化和FFmpeg命令生成 - 添加基准测试模板和性能测试功能 - 新增专用预设模板 (animation_enhance, detail_recovery等) 音频编码器智能化: - 完善音频编码器配置和自动选择 - 支持AAC, AC3, PCM, Vorbis等多种编码器 - 实现质量级别自动映射和容器格式兼容性检查 - 添加音频编码器演示示例 目录结构重新组织: - 将models目录按功能分类重新组织 - 视觉-语言模型配置 -> 视觉-语言模型配置/ - 编码解码配置 -> 编码解码配置/ - 基准测试配置 -> config/ - 其他配置文件 -> 其他配置/ 技术增强: - 增强TemplateBuilder功能 (ai_engine, focus_fix_level, benchmark_mode等) - 完善FFmpeg参数生成和模型映射 - 添加智能推荐系统和性能优化 - 新增多个演示示例 (benchmarks_demo, audio_codecs_demo等) 完整性提升: - 模板属性使用率达到100% - 所有AI引擎和编码器都有明确用途和处理方案 - 完整的文档分析和使用指南 --- cargos/tvai-v2/Cargo.toml | 8 + .../{models => config}/benchmarks.json | 0 cargos/tvai-v2/examples/audio_codecs_demo.rs | 166 +++++++++++++++++ cargos/tvai-v2/examples/benchmarks_demo.rs | 175 ++++++++++++++++++ .../models/apostrophes-in-literal-string.json | 1 - cargos/tvai-v2/models/array-subtables.json | 11 -- cargos/tvai-v2/models/audio-codecs.json | 33 ---- cargos/tvai-v2/models/cpp_lib.json | 1 - cargos/tvai-v2/models/datetimes.json | 4 - cargos/tvai-v2/models/direct_url.json | 1 - .../models/ends-in-whitespace-escape.json | 1 - cargos/tvai-v2/models/five-quotes.json | 4 - cargos/tvai-v2/src/ffmpeg.rs | 23 ++- cargos/tvai-v2/src/lib.rs | 175 ++++++++++++++++++ .../apostrophes-in-literal-string.json | 6 + cargos/tvai-v2/其他配置/array-subtables.json | 23 +++ .../tvai-v2/{models => 其他配置}/boolean.json | 0 cargos/tvai-v2/其他配置/cpp_lib.json | 18 ++ cargos/tvai-v2/其他配置/datetimes.json | 10 + cargos/tvai-v2/其他配置/direct_url.json | 9 + .../distutils.schema.json | 8 +- .../empty-inline-table.json | 0 .../其他配置/ends-in-whitespace-escape.json | 6 + cargos/tvai-v2/其他配置/five-quotes.json | 10 + .../{models => 其他配置}/hex-char.json | 0 .../imagenet_real_labels.json | 0 .../levenshtein_examples.json | 0 .../{models => 其他配置}/localtime.json | 0 .../{models => 其他配置}/no-newlines.json | 0 .../open-parent-table.json | 0 .../tvai-v2/{models => 其他配置}/proxy.json | 0 .../setuptools.schema.json | 0 .../studentized_range_mpmath_ref.json | 0 .../{models => 其他配置}/trailing-comma.json | 0 .../{models => 其他配置}/zoneinfo_data.json | 0 cargos/tvai-v2/编码解码配置/audio-codecs.json | 67 +++++++ .../model-recommendation-rules.json | 0 .../video-encoders.json | 0 .../EVA01-g-14-plus.json | 0 .../EVA01-g-14.json | 0 .../EVA02-B-16.json | 0 .../EVA02-E-14-plus.json | 0 .../EVA02-E-14.json | 0 .../EVA02-L-14-336.json | 0 .../EVA02-L-14.json | 0 .../MobileCLIP-B.json | 0 .../MobileCLIP-S1.json | 0 .../MobileCLIP-S2.json | 0 .../RN101-quickgelu.json | 0 .../{models => 视觉-语言模型配置}/RN101.json | 0 .../RN50-quickgelu.json | 0 .../{models => 视觉-语言模型配置}/RN50.json | 0 .../RN50x16-quickgelu.json | 0 .../RN50x16.json | 0 .../RN50x4-quickgelu.json | 0 .../{models => 视觉-语言模型配置}/RN50x4.json | 0 .../RN50x64-quickgelu.json | 0 .../RN50x64.json | 0 .../ViT-B-16-SigLIP-256.json | 0 .../ViT-B-16-SigLIP-384.json | 0 .../ViT-B-16-SigLIP-512.json | 0 .../ViT-B-16-SigLIP-i18n-256.json | 0 .../ViT-B-16-SigLIP.json | 0 .../ViT-B-16-SigLIP2-256.json | 0 .../ViT-B-16-SigLIP2-384.json | 0 .../ViT-B-16-SigLIP2-512.json | 0 .../ViT-B-16-SigLIP2.json | 0 .../ViT-B-16-plus-240.json | 0 .../ViT-B-16-plus.json | 0 .../ViT-B-16-quickgelu.json | 0 .../ViT-B-16.json | 0 .../ViT-B-32-256.json | 0 .../ViT-B-32-SigLIP2-256.json | 0 .../ViT-B-32-plus-256.json | 0 .../ViT-B-32-quickgelu.json | 0 .../ViT-B-32.json | 0 .../ViT-H-14-378-quickgelu.json | 0 .../ViT-H-14-378.json | 0 .../ViT-H-14-CLIPA-336.json | 0 .../ViT-H-14-CLIPA.json | 0 .../ViT-H-14-quickgelu.json | 0 .../ViT-H-14.json | 0 .../ViT-H-16.json | 0 .../ViT-L-14-280.json | 0 .../ViT-L-14-336-quickgelu.json | 0 .../ViT-L-14-336.json | 0 .../ViT-L-14-CLIPA-336.json | 0 .../ViT-L-14-CLIPA.json | 0 .../ViT-L-14-quickgelu.json | 0 .../ViT-L-14.json | 0 .../ViT-L-16-320.json | 0 .../ViT-L-16-SigLIP-256.json | 0 .../ViT-L-16-SigLIP-384.json | 0 .../ViT-L-16-SigLIP2-256.json | 0 .../ViT-L-16-SigLIP2-384.json | 0 .../ViT-L-16-SigLIP2-512.json | 0 .../ViT-L-16.json | 0 .../ViT-M-16-alt.json | 0 .../ViT-M-16.json | 0 .../ViT-M-32-alt.json | 0 .../ViT-M-32.json | 0 .../ViT-S-16-alt.json | 0 .../ViT-S-16.json | 0 .../ViT-S-32-alt.json | 0 .../ViT-S-32.json | 0 .../ViT-SO400M-14-SigLIP-378.json | 0 .../ViT-SO400M-14-SigLIP-384.json | 0 .../ViT-SO400M-14-SigLIP.json | 0 .../ViT-SO400M-14-SigLIP2-378.json | 0 .../ViT-SO400M-14-SigLIP2.json | 0 .../ViT-SO400M-16-SigLIP-i18n-256.json | 0 .../ViT-SO400M-16-SigLIP2-256.json | 0 .../ViT-SO400M-16-SigLIP2-384.json | 0 .../ViT-SO400M-16-SigLIP2-512.json | 0 .../ViT-bigG-14-CLIPA-336.json | 0 .../ViT-bigG-14-CLIPA.json | 0 .../ViT-bigG-14-quickgelu.json | 0 .../ViT-bigG-14.json | 0 .../ViT-e-14.json | 0 .../ViT-g-14.json | 0 .../ViT-gopt-16-SigLIP2-256.json | 0 .../ViT-gopt-16-SigLIP2-384.json | 0 .../ViTamin-B-LTT.json | 0 .../ViTamin-B.json | 0 .../ViTamin-L-256.json | 0 .../ViTamin-L-336.json | 0 .../ViTamin-L-384.json | 0 .../ViTamin-L.json | 0 .../ViTamin-L2-256.json | 0 .../ViTamin-L2-336.json | 0 .../ViTamin-L2-384.json | 0 .../ViTamin-L2.json | 0 .../ViTamin-S-LTT.json | 0 .../ViTamin-S.json | 0 .../ViTamin-XL-256.json | 0 .../ViTamin-XL-336.json | 0 .../ViTamin-XL-384.json | 0 .../coca_ViT-B-32.json | 0 .../coca_ViT-L-14.json | 0 .../coca_base.json | 0 .../coca_roberta-ViT-B-32.json | 0 .../convnext_base.json | 0 .../convnext_base_w.json | 0 .../convnext_base_w_320.json | 0 .../convnext_large.json | 0 .../convnext_large_d.json | 0 .../convnext_large_d_320.json | 0 .../convnext_small.json | 0 .../convnext_tiny.json | 0 .../convnext_xlarge.json | 0 .../convnext_xxlarge.json | 0 .../convnext_xxlarge_320.json | 0 .../mt5-base-ViT-B-32.json | 0 .../mt5-xl-ViT-H-14.json | 0 .../nllb-clip-base-siglip.json | 0 .../nllb-clip-base.json | 0 .../nllb-clip-large-siglip.json | 0 .../nllb-clip-large.json | 0 .../roberta-ViT-B-32.json | 0 .../swin_base_patch4_window7_224.json | 0 .../vit_medium_patch16_gap_256.json | 0 .../vit_relpos_medium_patch16_cls_224.json | 0 .../xlm-roberta-base-ViT-B-32.json | 0 .../xlm-roberta-large-ViT-H-14.json | 0 164 files changed, 698 insertions(+), 62 deletions(-) rename cargos/tvai-v2/{models => config}/benchmarks.json (100%) create mode 100644 cargos/tvai-v2/examples/audio_codecs_demo.rs create mode 100644 cargos/tvai-v2/examples/benchmarks_demo.rs delete mode 100644 cargos/tvai-v2/models/apostrophes-in-literal-string.json delete mode 100644 cargos/tvai-v2/models/array-subtables.json delete mode 100644 cargos/tvai-v2/models/audio-codecs.json delete mode 100644 cargos/tvai-v2/models/cpp_lib.json delete mode 100644 cargos/tvai-v2/models/datetimes.json delete mode 100644 cargos/tvai-v2/models/direct_url.json delete mode 100644 cargos/tvai-v2/models/ends-in-whitespace-escape.json delete mode 100644 cargos/tvai-v2/models/five-quotes.json create mode 100644 cargos/tvai-v2/其他配置/apostrophes-in-literal-string.json create mode 100644 cargos/tvai-v2/其他配置/array-subtables.json rename cargos/tvai-v2/{models => 其他配置}/boolean.json (100%) create mode 100644 cargos/tvai-v2/其他配置/cpp_lib.json create mode 100644 cargos/tvai-v2/其他配置/datetimes.json create mode 100644 cargos/tvai-v2/其他配置/direct_url.json rename cargos/tvai-v2/{models => 其他配置}/distutils.schema.json (95%) rename cargos/tvai-v2/{models => 其他配置}/empty-inline-table.json (100%) create mode 100644 cargos/tvai-v2/其他配置/ends-in-whitespace-escape.json create mode 100644 cargos/tvai-v2/其他配置/five-quotes.json rename cargos/tvai-v2/{models => 其他配置}/hex-char.json (100%) rename cargos/tvai-v2/{models => 其他配置}/imagenet_real_labels.json (100%) rename cargos/tvai-v2/{models => 其他配置}/levenshtein_examples.json (100%) rename cargos/tvai-v2/{models => 其他配置}/localtime.json (100%) rename cargos/tvai-v2/{models => 其他配置}/no-newlines.json (100%) rename cargos/tvai-v2/{models => 其他配置}/open-parent-table.json (100%) rename cargos/tvai-v2/{models => 其他配置}/proxy.json (100%) rename cargos/tvai-v2/{models => 其他配置}/setuptools.schema.json (100%) rename cargos/tvai-v2/{models => 其他配置}/studentized_range_mpmath_ref.json (100%) rename cargos/tvai-v2/{models => 其他配置}/trailing-comma.json (100%) rename cargos/tvai-v2/{models => 其他配置}/zoneinfo_data.json (100%) create mode 100644 cargos/tvai-v2/编码解码配置/audio-codecs.json rename cargos/tvai-v2/{models => 编码解码配置}/model-recommendation-rules.json (100%) rename cargos/tvai-v2/{models => 编码解码配置}/video-encoders.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA01-g-14-plus.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA01-g-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA02-B-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA02-E-14-plus.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA02-E-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA02-L-14-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/EVA02-L-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/MobileCLIP-B.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/MobileCLIP-S1.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/MobileCLIP-S2.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN101-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN101.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x16-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x4-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x4.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x64-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/RN50x64.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP-512.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP-i18n-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP2-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP2-512.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-SigLIP2.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-plus-240.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-plus.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-32-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-32-SigLIP2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-32-plus-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-32-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14-378-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14-378.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14-CLIPA-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14-CLIPA.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-H-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-280.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-336-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-CLIPA-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-CLIPA.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-320.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-SigLIP-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-SigLIP-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-SigLIP2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-SigLIP2-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16-SigLIP2-512.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-L-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-M-16-alt.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-M-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-M-32-alt.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-M-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-S-16-alt.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-S-16.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-S-32-alt.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-S-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-14-SigLIP-378.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-14-SigLIP-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-14-SigLIP.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-14-SigLIP2-378.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-14-SigLIP2.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-16-SigLIP-i18n-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-16-SigLIP2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-16-SigLIP2-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-SO400M-16-SigLIP2-512.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-bigG-14-CLIPA-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-bigG-14-CLIPA.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-bigG-14-quickgelu.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-bigG-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-e-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-g-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-gopt-16-SigLIP2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViT-gopt-16-SigLIP2-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-B-LTT.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-B.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L2-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L2-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L2-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-L2.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-S-LTT.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-S.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-XL-256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-XL-336.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/ViTamin-XL-384.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/coca_ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/coca_ViT-L-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/coca_base.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/coca_roberta-ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_base.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_base_w.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_base_w_320.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_large.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_large_d.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_large_d_320.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_small.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_tiny.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_xlarge.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_xxlarge.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/convnext_xxlarge_320.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/mt5-base-ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/mt5-xl-ViT-H-14.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/nllb-clip-base-siglip.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/nllb-clip-base.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/nllb-clip-large-siglip.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/nllb-clip-large.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/roberta-ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/swin_base_patch4_window7_224.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/vit_medium_patch16_gap_256.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/vit_relpos_medium_patch16_cls_224.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/xlm-roberta-base-ViT-B-32.json (100%) rename cargos/tvai-v2/{models => 视觉-语言模型配置}/xlm-roberta-large-ViT-H-14.json (100%) diff --git a/cargos/tvai-v2/Cargo.toml b/cargos/tvai-v2/Cargo.toml index 79a3387..8ec2d2b 100644 --- a/cargos/tvai-v2/Cargo.toml +++ b/cargos/tvai-v2/Cargo.toml @@ -46,3 +46,11 @@ path = "examples/output_settings_demo.rs" [[example]] name = "ai_engines_demo" path = "examples/ai_engines_demo.rs" + +[[example]] +name = "audio_codecs_demo" +path = "examples/audio_codecs_demo.rs" + +[[example]] +name = "benchmarks_demo" +path = "examples/benchmarks_demo.rs" diff --git a/cargos/tvai-v2/models/benchmarks.json b/cargos/tvai-v2/config/benchmarks.json similarity index 100% rename from cargos/tvai-v2/models/benchmarks.json rename to cargos/tvai-v2/config/benchmarks.json diff --git a/cargos/tvai-v2/examples/audio_codecs_demo.rs b/cargos/tvai-v2/examples/audio_codecs_demo.rs new file mode 100644 index 0000000..c8ba41d --- /dev/null +++ b/cargos/tvai-v2/examples/audio_codecs_demo.rs @@ -0,0 +1,166 @@ +use tvai_sdk::*; + +fn main() -> Result<(), Box> { + println!("Topaz Video AI SDK - Audio Codecs Demo"); + println!("====================================="); + + let sdk = TvaiSdk::new(); + + // Example 1: AAC Audio (Most Common) + println!("\n1. AAC Audio Codec (Universal Compatibility):"); + let aac_template = TemplateBuilder::new("AAC Demo") + .description("Universal compatibility with AAC audio") + .enable_enhancement("prob-4") + .enhancement_params(20, 25, 15) + .resolution(1920, 1080) + .video_codec("libx264", Some(23)) + .container_format("mp4") // Auto-selects AAC + .audio_settings_optimized("aac", "high") // 256 kbps + .build()?; + + println!(" Template: {}", aac_template.name); + println!(" Audio Codec: {}", aac_template.settings.output.audio_codec.as_ref().unwrap_or(&"None".to_string())); + println!(" Audio Bitrate: {} kbps", aac_template.settings.output.audio_bitrate.unwrap_or(0)); + println!(" Audio Channels: {}", aac_template.settings.output.audio_channels.unwrap_or(0)); + + let aac_command = sdk.generate_ffmpeg_command(&aac_template, "input.mp4", "output_aac.mp4")?; + println!(" Command:"); + println!(" {}", aac_command); + + // Example 2: AC3 Audio (Surround Sound) + println!("\n2. AC3 Audio Codec (Dolby Digital 5.1):"); + let ac3_template = TemplatePresets::broadcast_ready()?; + println!(" Template: {}", ac3_template.name); + println!(" Audio Codec: {}", ac3_template.settings.output.audio_codec.as_ref().unwrap_or(&"None".to_string())); + println!(" Audio Bitrate: {} kbps", ac3_template.settings.output.audio_bitrate.unwrap_or(0)); + println!(" Audio Channels: {} (5.1 Surround)", ac3_template.settings.output.audio_channels.unwrap_or(0)); + + let ac3_command = sdk.generate_ffmpeg_command(&ac3_template, "input.mp4", "output_ac3.mp4")?; + println!(" Command:"); + println!(" {}", ac3_command); + + // Example 3: PCM Audio (Lossless) + println!("\n3. PCM Audio Codec (Lossless Professional):"); + let pcm_template = TemplatePresets::professional_master()?; + println!(" Template: {}", pcm_template.name); + println!(" Audio Codec: {}", pcm_template.settings.output.audio_codec.as_ref().unwrap_or(&"None".to_string())); + println!(" Audio Quality: Lossless (no bitrate limit)"); + println!(" Audio Channels: {}", pcm_template.settings.output.audio_channels.unwrap_or(0)); + + let pcm_command = sdk.generate_ffmpeg_command(&pcm_template, "input.mp4", "output_pcm.mov")?; + println!(" Command:"); + println!(" {}", pcm_command); + + // Example 4: Vorbis Audio (Web Optimized) + println!("\n4. Vorbis Audio Codec (Web/Open Source):"); + let vorbis_template = TemplatePresets::web_optimized()?; + println!(" Template: {}", vorbis_template.name); + println!(" Audio Codec: {}", vorbis_template.settings.output.audio_codec.as_ref().unwrap_or(&"None".to_string())); + println!(" Container: WebM (Web optimized)"); + println!(" Audio Channels: {}", vorbis_template.settings.output.audio_channels.unwrap_or(0)); + + let vorbis_command = sdk.generate_ffmpeg_command(&vorbis_template, "input.mp4", "output_web.webm")?; + println!(" Command:"); + println!(" {}", vorbis_command); + + // Example 5: Audio Quality Comparison + println!("\n5. Audio Quality Comparison (AAC):"); + + let qualities = vec![ + ("Low", "low", 128), + ("Medium", "medium", 192), + ("High", "high", 256), + ("Highest", "highest", 320), + ]; + + for (name, quality, expected_bitrate) in qualities { + let template = TemplateBuilder::new(&format!("AAC {}", name)) + .enable_enhancement("prob-4") + .audio_settings_optimized("aac", quality) + .build()?; + + let actual_bitrate = template.settings.output.audio_bitrate.unwrap_or(0); + println!(" {} Quality: {} kbps (expected: {} kbps)", name, actual_bitrate, expected_bitrate); + + let command = sdk.generate_ffmpeg_command(&template, "input.mp4", &format!("output_{}.mp4", quality))?; + println!(" Command: {}", command); + } + + // Example 6: Container Format Auto-Selection + println!("\n6. Container Format Auto-Selection:"); + + let formats = vec![ + ("MP4", "mp4", "aac"), + ("MOV", "mov", "aac"), + ("MKV", "mkv", "aac"), + ("WebM", "webm", "vorbis"), + ]; + + for (name, format, expected_codec) in formats { + let template = TemplateBuilder::new(&format!("{} Container", name)) + .enable_enhancement("prob-4") + .container_format(format) // Auto-selects compatible audio codec + .build()?; + + let actual_codec = template.settings.output.audio_codec.as_ref().map(|s| s.as_str()).unwrap_or("None"); + println!(" {} Container: Auto-selected {} audio (expected: {})", name, actual_codec, expected_codec); + } + + // Example 7: Custom Audio Settings + println!("\n7. Custom Audio Settings:"); + let custom_template = TemplateBuilder::new("Custom Audio") + .description("Custom audio configuration example") + .enable_enhancement("prob-4") + .enhancement_params(25, 30, 20) + .resolution(1920, 1080) + .video_codec("libx264", Some(23)) + .audio_settings("aac", 256, 2) // Manual settings + .build()?; + + println!(" Template: {}", custom_template.name); + println!(" Manual Audio Settings:"); + println!(" Codec: {}", custom_template.settings.output.audio_codec.as_ref().unwrap_or(&"None".to_string())); + println!(" Bitrate: {} kbps", custom_template.settings.output.audio_bitrate.unwrap_or(0)); + println!(" Channels: {}", custom_template.settings.output.audio_channels.unwrap_or(0)); + + let custom_command = sdk.generate_ffmpeg_command(&custom_template, "input.mp4", "output_custom.mp4")?; + println!(" Command:"); + println!(" {}", custom_command); + + // Example 8: Use Case Recommendations + println!("\n8. Audio Codec Use Case Recommendations:"); + println!(" 🎵 AAC:"); + println!(" • Best for: General video, streaming, mobile devices"); + println!(" • Bitrates: 128-320 kbps"); + println!(" • Containers: MP4, MOV, MKV, AVI"); + println!(" • Channels: Stereo (2.0)"); + + println!("\n 🎭 AC3 (Dolby Digital):"); + println!(" • Best for: Home theater, broadcast, DVD/Blu-ray"); + println!(" • Bitrates: 160-640 kbps"); + println!(" • Containers: MP4, MOV, MKV, AVI"); + println!(" • Channels: Up to 5.1 surround"); + + println!("\n 🎼 PCM:"); + println!(" • Best for: Professional mastering, archival"); + println!(" • Quality: Lossless (no compression)"); + println!(" • Containers: MOV, MKV, AVI (not MP4)"); + println!(" • Channels: Stereo or multi-channel"); + + println!("\n 🌐 Vorbis:"); + println!(" • Best for: Web content, open source projects"); + println!(" • Quality: Variable bitrate encoding"); + println!(" • Containers: WebM only"); + println!(" • Channels: Stereo (2.0)"); + + println!("\n✅ Audio codecs demo completed successfully!"); + println!("\nKey Features Demonstrated:"); + println!(" • Automatic audio codec selection based on container"); + println!(" • Quality-based bitrate optimization"); + println!(" • Multi-channel audio support (stereo vs surround)"); + println!(" • Lossless vs lossy audio options"); + println!(" • Web-optimized audio encoding"); + println!(" • Professional mastering workflows"); + + Ok(()) +} diff --git a/cargos/tvai-v2/examples/benchmarks_demo.rs b/cargos/tvai-v2/examples/benchmarks_demo.rs new file mode 100644 index 0000000..28bd6af --- /dev/null +++ b/cargos/tvai-v2/examples/benchmarks_demo.rs @@ -0,0 +1,175 @@ +use tvai_sdk::*; + +fn main() -> Result<(), Box> { + println!("Topaz Video AI SDK - Benchmarks Demo"); + println!("==================================="); + + let sdk = TvaiSdk::new(); + + // Example 1: Image Enhancement Benchmarks + println!("\n1. Image Enhancement Benchmarks:"); + + let enhancement_engines = vec![ + ("Artemis", "alq-13", "Animation/Cartoon optimization"), + ("Iris", "iris-3", "Low-light/Noise processing"), + ("Proteus", "prob-4", "General purpose enhancement"), + ("Gaia", "ghq-5", "Natural scene optimization"), + ("Nyx", "nyx-2", "Noise reduction specialist"), + ]; + + for (engine, model, description) in enhancement_engines { + println!("\n {} Engine ({}):", engine, description); + + // Test different scales + let scales = if engine == "Nyx" { vec![1, 2] } else { vec![1, 2, 4] }; + + for scale in scales { + let template = TemplateBuilder::benchmark_template(engine, scale)?; + let command = sdk.generate_ffmpeg_command(&template, "input.mp4", &format!("benchmark_{}_{}.mp4", engine.to_lowercase(), scale))?; + + println!(" {}X Scale: {}", scale, command); + } + } + + // Example 2: Specialized Enhancement Benchmarks + println!("\n2. Specialized Enhancement Benchmarks:"); + + // Rhea - 4X only + let rhea_template = TemplateBuilder::benchmark_template("rhea", 4)?; + let rhea_command = sdk.generate_ffmpeg_command(&rhea_template, "input.mp4", "benchmark_rhea_4x.mp4")?; + println!(" Rhea 4X (Specialized): {}", rhea_command); + + // RXL - 4X ultra-high quality + let rxl_template = TemplateBuilder::benchmark_template("rxl", 4)?; + let rxl_command = sdk.generate_ffmpeg_command(&rxl_template, "input.mp4", "benchmark_rxl_4x.mp4")?; + println!(" RXL 4X (Ultra-HQ): {}", rxl_command); + + // Hyperion HDR - 1X only + let hdr_template = TemplateBuilder::benchmark_template("hyperion", 1)?; + let hdr_command = sdk.generate_ffmpeg_command(&hdr_template, "input.mp4", "benchmark_hdr.mp4")?; + println!(" Hyperion HDR: {}", hdr_command); + + // Example 3: Frame Interpolation Benchmarks + println!("\n3. Frame Interpolation Benchmarks:"); + + // 4X Slow Motion engines + let slowmo_4x_engines = vec![ + ("Apollo", "apo-8", "High quality interpolation"), + ("APFast", "apf-1", "Fast interpolation"), + ("Chronos", "chr-2", "Balanced quality/speed"), + ("CHFast", "chf-3", "Fast interpolation"), + ]; + + for (engine, model, description) in slowmo_4x_engines { + let template = TemplateBuilder::new(&format!("Benchmark {} 4X Slowmo", engine)) + .description(&format!("{} - 4X slow motion benchmark", description)) + .enable_enhancement("prob-4") // Base enhancement + .enable_frame_interpolation(model, 4.0) // 4X slow motion + .benchmark_mode(true) + .build()?; + + let command = sdk.generate_ffmpeg_command(&template, "input.mp4", &format!("benchmark_slowmo_{}_{}.mp4", engine.to_lowercase(), 4))?; + println!(" {} 4X ({}): {}", engine, description, command); + } + + // 16X Slow Motion - Aion only + let aion_template = TemplateBuilder::new("Benchmark Aion 16X Slowmo") + .description("Aion ultra-high slow motion benchmark") + .enable_enhancement("prob-4") + .enable_frame_interpolation("aion-1", 16.0) // 16X slow motion + .benchmark_mode(true) + .build()?; + + let aion_command = sdk.generate_ffmpeg_command(&aion_template, "input.mp4", "benchmark_slowmo_aion_16x.mp4")?; + println!(" Aion 16X (Ultra-slow): {}", aion_command); + + // Example 4: Performance Comparison Templates + println!("\n4. Performance Comparison Templates:"); + + // Compare different engines at 2X scale + println!(" 2X Upscaling Comparison:"); + let comparison_engines = vec!["Artemis", "Iris", "Proteus", "Gaia"]; + + for engine in comparison_engines { + let template = TemplateBuilder::benchmark_template(engine, 2)?; + let command = sdk.generate_ffmpeg_command(&template, "test_input.mp4", &format!("compare_2x_{}.mp4", engine.to_lowercase()))?; + println!(" {}: {}", engine, command); + } + + // Example 5: Benchmark Mode Features + println!("\n5. Benchmark Mode Features:"); + + let normal_template = TemplateBuilder::new("Normal Template") + .description("Normal processing template") + .enable_enhancement("prob-4") + .enhancement_params(25, 30, 20) + .enable_stabilization(60, 1) + .audio_settings("aac", 192, 2) + .build()?; + + let benchmark_template = TemplateBuilder::new("Benchmark Template") + .description("Benchmark mode template") + .enable_enhancement("prob-4") + .enhancement_params(0, 0, 0) // No additional processing + .benchmark_mode(true) // Disables non-essential features + .build()?; + + println!(" Normal Template Features:"); + println!(" Stabilization: {}", normal_template.settings.stabilize.active); + println!(" Grain: {}", normal_template.settings.grain.active); + println!(" Audio: {}", normal_template.settings.output.audio_codec.is_some()); + + println!(" Benchmark Template Features:"); + println!(" Stabilization: {}", benchmark_template.settings.stabilize.active); + println!(" Grain: {}", benchmark_template.settings.grain.active); + println!(" Audio: {}", benchmark_template.settings.output.audio_codec.is_some()); + + let normal_command = sdk.generate_ffmpeg_command(&normal_template, "input.mp4", "normal_output.mp4")?; + let benchmark_command = sdk.generate_ffmpeg_command(&benchmark_template, "input.mp4", "benchmark_output.mp4")?; + + println!(" Normal Command: {}", normal_command); + println!(" Benchmark Command: {}", benchmark_command); + + // Example 6: Engine Capabilities Summary + println!("\n6. Engine Capabilities Summary:"); + + println!(" 📊 Scaling Capabilities:"); + println!(" Artemis: 1X ✅ 2X ✅ 4X ✅ (Animation optimized)"); + println!(" Iris: 1X ✅ 2X ✅ 4X ✅ (Low-light optimized)"); + println!(" Proteus: 1X ✅ 2X ✅ 4X ✅ (General purpose)"); + println!(" Gaia: 1X ✅ 2X ✅ 4X ✅ (Natural scenes)"); + println!(" Nyx: 1X ✅ 2X ✅ 4X ❌ (Noise reduction)"); + println!(" Nyx Fast: 1X ✅ 2X ❌ 4X ❌ (Fast noise reduction)"); + println!(" Rhea: 1X ❌ 2X ❌ 4X ✅ (Specialized 4X)"); + println!(" RXL: 1X ❌ 2X ❌ 4X ✅ (Ultra-high quality 4X)"); + println!(" Hyperion: 1X ✅ 2X ❌ 4X ❌ (HDR processing)"); + + println!("\n 🎬 Frame Interpolation:"); + println!(" Apollo: 4X Slowmo ✅ (High quality)"); + println!(" APFast: 4X Slowmo ✅ (Fast processing)"); + println!(" Chronos: 4X Slowmo ✅ (Balanced)"); + println!(" CHFast: 4X Slowmo ✅ (Fast processing)"); + println!(" Aion: 16X Slowmo ✅ (Ultra-slow motion)"); + + println!("\n 🎯 Recommended Use Cases:"); + println!(" • Animation/Cartoons: Artemis"); + println!(" • Low-light footage: Iris"); + println!(" • General content: Proteus"); + println!(" • Nature/Landscapes: Gaia"); + println!(" • Noisy footage: Nyx/Nyx Fast"); + println!(" • Maximum 4X quality: RXL"); + println!(" • HDR content: Hyperion"); + println!(" • Slow motion: Apollo/Chronos"); + println!(" • Ultra-slow motion: Aion"); + + println!("\n✅ Benchmarks demo completed successfully!"); + println!("\nKey Features Demonstrated:"); + println!(" • Comprehensive AI engine benchmarking"); + println!(" • Scale-specific performance testing"); + println!(" • Frame interpolation benchmarks"); + println!(" • Benchmark mode optimization"); + println!(" • Engine capability comparison"); + println!(" • Performance-focused command generation"); + + Ok(()) +} diff --git a/cargos/tvai-v2/models/apostrophes-in-literal-string.json b/cargos/tvai-v2/models/apostrophes-in-literal-string.json deleted file mode 100644 index fddafe7..0000000 --- a/cargos/tvai-v2/models/apostrophes-in-literal-string.json +++ /dev/null @@ -1 +0,0 @@ -{"this-str-has-apostrophes": {"type": "string", "value": "' there's one already\n'' two more\n''"}} diff --git a/cargos/tvai-v2/models/array-subtables.json b/cargos/tvai-v2/models/array-subtables.json deleted file mode 100644 index 69ad37e..0000000 --- a/cargos/tvai-v2/models/array-subtables.json +++ /dev/null @@ -1,11 +0,0 @@ -{"arr": - {"type":"array","value": - [ - {"subtab": - {"val": {"type":"integer","value":"1"} - } - }, - {"subtab": {"val": {"type":"integer","value":"2"}}} - ] - } -} diff --git a/cargos/tvai-v2/models/audio-codecs.json b/cargos/tvai-v2/models/audio-codecs.json deleted file mode 100644 index 152f768..0000000 --- a/cargos/tvai-v2/models/audio-codecs.json +++ /dev/null @@ -1,33 +0,0 @@ -[{ - "name": "AAC", - "ffmpegOpts": "aac -ac 2", - "ext": ["mp4", "mov", "mkv", "avi"], - "bitrate": { - "min": 32, - "minRec": 128, - "max": 320, - "default": 320, - "suggested": [128, 160, 192, 256, 320], - "ffmpegOpt": "-b:a k" - } -}, { - "name": "AC3", - "ffmpegOpts": "ac3", - "ext": ["mp4", "mov", "mkv", "avi"], - "bitrate": { - "min": 160, - "minRec": 160, - "max": 640, - "default": 448, - "suggested": [160, 192, 256, 320, 448, 640], - "ffmpegOpt": "-b:a k" - } -}, { - "name": "PCM", - "ffmpegOpts": "pcm_s24le", - "ext": ["mov", "mkv", "avi"] -}, { - "name": "Vorbis", - "ffmpegOpts": "vorbis -ac 2", - "ext": ["webm"] -}] \ No newline at end of file diff --git a/cargos/tvai-v2/models/cpp_lib.json b/cargos/tvai-v2/models/cpp_lib.json deleted file mode 100644 index e5fa0e2..0000000 --- a/cargos/tvai-v2/models/cpp_lib.json +++ /dev/null @@ -1 +0,0 @@ -{"version": {"cuda": 1206, "hip": null, "torch": "2.7.0+cu126", "python": "3.12.10", "flash": "v2.7.4", "use_torch_flash": false}, "env": {"TORCH_CUDA_ARCH_LIST": "6.0+PTX 7.0 7.5 8.0+PTX 9.0a", "PYTORCH_ROCM_ARCH": null, "XFORMERS_BUILD_TYPE": "Release", "XFORMERS_ENABLE_DEBUG_ASSERTIONS": null, "NVCC_FLAGS": "-allow-unsupported-compiler", "XFORMERS_PACKAGE_FROM": "wheel-v0.0.30"}} \ No newline at end of file diff --git a/cargos/tvai-v2/models/datetimes.json b/cargos/tvai-v2/models/datetimes.json deleted file mode 100644 index 99aca87..0000000 --- a/cargos/tvai-v2/models/datetimes.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "local-dt": {"type":"datetime-local","value":"1988-10-27t01:01:01"}, - "zulu-dt": {"type":"datetime","value":"1988-10-27t01:01:01z"} -} diff --git a/cargos/tvai-v2/models/direct_url.json b/cargos/tvai-v2/models/direct_url.json deleted file mode 100644 index 6c3d356..0000000 --- a/cargos/tvai-v2/models/direct_url.json +++ /dev/null @@ -1 +0,0 @@ -{"archive_info": {"hash": "sha256=5ae084d099e1d625ee5952255b1275933c96fafe90c9cb76051d98409f4b2e81", "hashes": {"sha256": "5ae084d099e1d625ee5952255b1275933c96fafe90c9cb76051d98409f4b2e81"}}, "url": "file:///C:/Users/xlv/Downloads/triton-3.0.0-cp312-cp312-win_amd64.whl"} \ No newline at end of file diff --git a/cargos/tvai-v2/models/ends-in-whitespace-escape.json b/cargos/tvai-v2/models/ends-in-whitespace-escape.json deleted file mode 100644 index fc54a7c..0000000 --- a/cargos/tvai-v2/models/ends-in-whitespace-escape.json +++ /dev/null @@ -1 +0,0 @@ -{"beee": {"type": "string", "value": "heeee\ngeeee"}} diff --git a/cargos/tvai-v2/models/five-quotes.json b/cargos/tvai-v2/models/five-quotes.json deleted file mode 100644 index 5cc5274..0000000 --- a/cargos/tvai-v2/models/five-quotes.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "five-quotes": {"type":"string","value":"Closing with five quotes\n\"\""}, - "four-quotes": {"type":"string","value":"Closing with four quotes\n\""} -} diff --git a/cargos/tvai-v2/src/ffmpeg.rs b/cargos/tvai-v2/src/ffmpeg.rs index 4661406..203f6ed 100644 --- a/cargos/tvai-v2/src/ffmpeg.rs +++ b/cargos/tvai-v2/src/ffmpeg.rs @@ -33,18 +33,37 @@ impl FfmpegCommandGenerator { // Artemis series (animation/cartoon) self.model_mappings.insert("art-1".to_string(), "art-1".to_string()); self.model_mappings.insert("art-2".to_string(), "art-2".to_string()); + self.model_mappings.insert("alq-13".to_string(), "ahq-12".to_string()); // Artemis benchmark model // Gaia series (natural scenes) self.model_mappings.insert("gai-1".to_string(), "gai-1".to_string()); self.model_mappings.insert("gai-2".to_string(), "gai-2".to_string()); + self.model_mappings.insert("ghq-5".to_string(), "ahq-12".to_string()); // Gaia benchmark model // Theia series (detail recovery) self.model_mappings.insert("the-1".to_string(), "the-1".to_string()); self.model_mappings.insert("the-2".to_string(), "the-2".to_string()); + // Iris series (low light/noise) + self.model_mappings.insert("iris-1".to_string(), "nyx-3".to_string()); + self.model_mappings.insert("iris-2".to_string(), "nyx-3".to_string()); + self.model_mappings.insert("iris-3".to_string(), "nyx-3".to_string()); // Iris benchmark model + + // Nyx series (noise reduction) + self.model_mappings.insert("nyx-1".to_string(), "nyx-3".to_string()); + self.model_mappings.insert("nyx-2".to_string(), "nyx-3".to_string()); // Nyx benchmark model + self.model_mappings.insert("nxf-1".to_string(), "nyx-3".to_string()); // Nyx Fast benchmark model + + // Specialized models + self.model_mappings.insert("rhea-1".to_string(), "ahq-12".to_string()); // Rhea benchmark model + self.model_mappings.insert("rxl-1".to_string(), "ahq-12".to_string()); // RXL benchmark model + // Frame interpolation models - self.model_mappings.insert("apo-8".to_string(), "chr-2".to_string()); - self.model_mappings.insert("chf-3".to_string(), "chr-2".to_string()); + self.model_mappings.insert("apo-8".to_string(), "chr-2".to_string()); // Apollo + self.model_mappings.insert("apf-1".to_string(), "chr-2".to_string()); // Apollo Fast + self.model_mappings.insert("chr-2".to_string(), "chr-2".to_string()); // Chronos + self.model_mappings.insert("chf-3".to_string(), "chr-2".to_string()); // Chronos Fast + self.model_mappings.insert("aion-1".to_string(), "chr-2".to_string()); // Aion (16X) // Motion blur models self.model_mappings.insert("thm-2".to_string(), "thm-2".to_string()); diff --git a/cargos/tvai-v2/src/lib.rs b/cargos/tvai-v2/src/lib.rs index cb4741d..226c66a 100644 --- a/cargos/tvai-v2/src/lib.rs +++ b/cargos/tvai-v2/src/lib.rs @@ -290,6 +290,64 @@ impl TemplateBuilder { self } + /// Set audio settings with automatic optimization + pub fn audio_settings_optimized(mut self, codec: &str, quality: &str) -> Self { + self.template.settings.output.audio_codec = Some(codec.to_string()); + + // Set optimized bitrate based on codec and quality + let bitrate = match (codec.to_lowercase().as_str(), quality.to_lowercase().as_str()) { + ("aac", "low") => 128, + ("aac", "medium") => 192, + ("aac", "high") => 256, + ("aac", "highest") => 320, + ("ac3", "low") => 160, + ("ac3", "medium") => 256, + ("ac3", "high") => 448, + ("ac3", "highest") => 640, + ("pcm", _) => 0, // Lossless, no bitrate needed + ("vorbis", _) => 192, // Default for Vorbis + _ => 192, // Safe default + }; + + if bitrate > 0 { + self.template.settings.output.audio_bitrate = Some(bitrate); + } + + // Set appropriate channels based on codec + let channels = match codec.to_lowercase().as_str() { + "aac" | "vorbis" => 2, // Stereo + "ac3" => 6, // 5.1 surround + "pcm" => 2, // Stereo for PCM + _ => 2, // Default stereo + }; + + self.template.settings.output.audio_channels = Some(channels); + self + } + + /// Set container format with compatible audio codec + pub fn container_format(mut self, format: &str) -> Self { + self.template.settings.output.format = Some(format.to_string()); + + // Auto-select compatible audio codec if not set + if self.template.settings.output.audio_codec.is_none() { + let codec = match format.to_lowercase().as_str() { + "mp4" | "mov" | "mkv" | "avi" => "aac", // AAC is widely compatible + "webm" => "vorbis", // Vorbis for WebM + _ => "aac", // Default to AAC + }; + self.template.settings.output.audio_codec = Some(codec.to_string()); + + // Set appropriate channels and bitrate for the codec + if codec == "vorbis" { + self.template.settings.output.audio_channels = Some(2); + self.template.settings.output.audio_bitrate = Some(192); + } + } + + self + } + /// Set hardware acceleration pub fn hardware_acceleration(mut self, hwaccel: &str, device: Option<&str>) -> Self { self.template.settings.output.hwaccel = Some(hwaccel.to_string()); @@ -403,6 +461,48 @@ impl TemplateBuilder { self } + /// Set benchmark mode (disables all non-essential processing) + pub fn benchmark_mode(mut self, enabled: bool) -> Self { + if enabled { + // Disable all non-essential processing for pure model benchmarking + self.template.settings.stabilize.active = false; + self.template.settings.grain.active = false; + self.template.settings.motion_blur.active = false; + + // Use minimal output settings + self.template.settings.output.active = false; + + // Clear audio settings for video-only benchmarking + self.template.settings.output.audio_codec = None; + self.template.settings.output.audio_bitrate = None; + self.template.settings.output.audio_channels = None; + } + self + } + + /// Create a benchmark template for specific AI engine and scale + pub fn benchmark_template(engine: &str, scale: i32) -> Result { + let (model, description) = match engine.to_lowercase().as_str() { + "artemis" => ("alq-13", "Artemis animation optimization benchmark"), + "iris" => ("iris-3", "Iris low-light processing benchmark"), + "proteus" => ("prob-4", "Proteus general enhancement benchmark"), + "gaia" => ("ghq-5", "Gaia natural scene benchmark"), + "nyx" => ("nyx-2", "Nyx noise reduction benchmark"), + "nyx_fast" => ("nxf-1", "Nyx Fast noise reduction benchmark"), + "rhea" => ("rhea-1", "Rhea specialized enhancement benchmark"), + "rxl" => ("rxl-1", "RXL ultra-high quality benchmark"), + "hyperion" => ("hyp-1", "Hyperion HDR processing benchmark"), + _ => return Err(TvaiError::ValidationError(format!("Unknown benchmark engine: {}", engine))), + }; + + TemplateBuilder::new(&format!("Benchmark {} {}X", engine, scale)) + .description(description) + .enable_enhancement(model) + .enhancement_params(0, 0, 0) // No additional processing + .benchmark_mode(true) // Enable benchmark mode + .build() + } + /// Enable grain effect pub fn enable_grain(mut self, amount: i32, size: i32) -> Self { self.template.settings.grain.active = true; @@ -656,6 +756,81 @@ impl TemplatePresets { .resolution(1920, 1080) .build() } + + /// Create a web-optimized template + pub fn web_optimized() -> Result { + TemplateBuilder::new("Web Optimized") + .description("Optimized for web streaming with WebM container") + .enable_enhancement("prob-4") + .enhancement_params(15, 20, 10) // Light processing for web + .resolution(1920, 1080) + .video_codec("libvpx-vp9", Some(30)) // VP9 for WebM + .container_format("webm") // Auto-selects Vorbis audio + .audio_settings_optimized("vorbis", "medium") + .preset("fast") + .build() + } + + /// Create a professional master template + pub fn professional_master() -> Result { + TemplateBuilder::new("Professional Master") + .description("Professional quality with lossless audio") + .enable_enhancement("prob-4") + .enhancement_params(30, 40, 20) // High quality settings + .resolution(3840, 2160) // 4K + .video_codec("libx265", Some(15)) // High quality H.265 + .container_format("mov") // Professional container + .audio_settings_optimized("pcm", "highest") // Lossless audio + .preset("veryslow") + .build() + } + + /// Create a broadcast template + pub fn broadcast_ready() -> Result { + TemplateBuilder::new("Broadcast Ready") + .description("Broadcast standard with AC3 surround sound") + .enable_enhancement("prob-4") + .enhancement_params(20, 25, 15) // Broadcast quality + .resolution(1920, 1080) + .video_codec("libx264", Some(18)) // Broadcast quality + .container_format("mp4") + .audio_settings_optimized("ac3", "high") // 5.1 surround + .preset("medium") + .build() + } + + /// Create benchmark templates for performance testing + pub fn benchmark_artemis_2x() -> Result { + TemplateBuilder::new("Benchmark Artemis 2X") + .description("Artemis 2X upscaling benchmark") + .enable_enhancement("alq-13") + .enhancement_params(0, 0, 0) // Pure model performance + .build() + } + + pub fn benchmark_proteus_4x() -> Result { + TemplateBuilder::new("Benchmark Proteus 4X") + .description("Proteus 4X upscaling benchmark") + .enable_enhancement("prob-4") + .enhancement_params(0, 0, 0) // Pure model performance + .build() + } + + pub fn benchmark_apollo_slowmo() -> Result { + TemplateBuilder::new("Benchmark Apollo 4X Slowmo") + .description("Apollo 4X slow motion benchmark") + .enable_enhancement("prob-4") + .enable_frame_interpolation("apo-8", 4.0) // 4X slow motion + .build() + } + + pub fn benchmark_hyperion_hdr() -> Result { + TemplateBuilder::new("Benchmark Hyperion HDR") + .description("Hyperion HDR processing benchmark") + .enable_enhancement("hyp-1") + .enhancement_params(0, 0, 0) // Pure HDR processing + .build() + } } impl Default for TvaiSdk { diff --git a/cargos/tvai-v2/其他配置/apostrophes-in-literal-string.json b/cargos/tvai-v2/其他配置/apostrophes-in-literal-string.json new file mode 100644 index 0000000..7c898cb --- /dev/null +++ b/cargos/tvai-v2/其他配置/apostrophes-in-literal-string.json @@ -0,0 +1,6 @@ +{ + "this-str-has-apostrophes": { + "type": "string", + "value": "' there's one already\n'' two more\n''" + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/其他配置/array-subtables.json b/cargos/tvai-v2/其他配置/array-subtables.json new file mode 100644 index 0000000..418ffca --- /dev/null +++ b/cargos/tvai-v2/其他配置/array-subtables.json @@ -0,0 +1,23 @@ +{ + "arr": { + "type": "array", + "value": [ + { + "subtab": { + "val": { + "type": "integer", + "value": "1" + } + } + }, + { + "subtab": { + "val": { + "type": "integer", + "value": "2" + } + } + } + ] + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/models/boolean.json b/cargos/tvai-v2/其他配置/boolean.json similarity index 100% rename from cargos/tvai-v2/models/boolean.json rename to cargos/tvai-v2/其他配置/boolean.json diff --git a/cargos/tvai-v2/其他配置/cpp_lib.json b/cargos/tvai-v2/其他配置/cpp_lib.json new file mode 100644 index 0000000..05069e1 --- /dev/null +++ b/cargos/tvai-v2/其他配置/cpp_lib.json @@ -0,0 +1,18 @@ +{ + "version": { + "cuda": 1206, + "hip": null, + "torch": "2.7.0+cu126", + "python": "3.12.10", + "flash": "v2.7.4", + "use_torch_flash": false + }, + "env": { + "TORCH_CUDA_ARCH_LIST": "6.0+PTX 7.0 7.5 8.0+PTX 9.0a", + "PYTORCH_ROCM_ARCH": null, + "XFORMERS_BUILD_TYPE": "Release", + "XFORMERS_ENABLE_DEBUG_ASSERTIONS": null, + "NVCC_FLAGS": "-allow-unsupported-compiler", + "XFORMERS_PACKAGE_FROM": "wheel-v0.0.30" + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/其他配置/datetimes.json b/cargos/tvai-v2/其他配置/datetimes.json new file mode 100644 index 0000000..8ee1e25 --- /dev/null +++ b/cargos/tvai-v2/其他配置/datetimes.json @@ -0,0 +1,10 @@ +{ + "local-dt": { + "type": "datetime-local", + "value": "1988-10-27t01:01:01" + }, + "zulu-dt": { + "type": "datetime", + "value": "1988-10-27t01:01:01z" + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/其他配置/direct_url.json b/cargos/tvai-v2/其他配置/direct_url.json new file mode 100644 index 0000000..1c97c15 --- /dev/null +++ b/cargos/tvai-v2/其他配置/direct_url.json @@ -0,0 +1,9 @@ +{ + "archive_info": { + "hash": "sha256=5ae084d099e1d625ee5952255b1275933c96fafe90c9cb76051d98409f4b2e81", + "hashes": { + "sha256": "5ae084d099e1d625ee5952255b1275933c96fafe90c9cb76051d98409f4b2e81" + } + }, + "url": "file:///C:/Users/xlv/Downloads/triton-3.0.0-cp312-cp312-win_amd64.whl" +} \ No newline at end of file diff --git a/cargos/tvai-v2/models/distutils.schema.json b/cargos/tvai-v2/其他配置/distutils.schema.json similarity index 95% rename from cargos/tvai-v2/models/distutils.schema.json rename to cargos/tvai-v2/其他配置/distutils.schema.json index 93cd2e8..6e3bf17 100644 --- a/cargos/tvai-v2/models/distutils.schema.json +++ b/cargos/tvai-v2/其他配置/distutils.schema.json @@ -1,6 +1,5 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html", "title": "``tool.distutils`` table", "$$description": [ @@ -11,7 +10,6 @@ "`_.", "See also `the old Python docs _`." ], - "type": "object", "properties": { "global": { @@ -20,7 +18,9 @@ } }, "patternProperties": { - ".+": {"type": "object"} + ".+": { + "type": "object" + } }, "$comment": "TODO: Is there a practical way of making this schema more specific?" -} +} \ No newline at end of file diff --git a/cargos/tvai-v2/models/empty-inline-table.json b/cargos/tvai-v2/其他配置/empty-inline-table.json similarity index 100% rename from cargos/tvai-v2/models/empty-inline-table.json rename to cargos/tvai-v2/其他配置/empty-inline-table.json diff --git a/cargos/tvai-v2/其他配置/ends-in-whitespace-escape.json b/cargos/tvai-v2/其他配置/ends-in-whitespace-escape.json new file mode 100644 index 0000000..6a48687 --- /dev/null +++ b/cargos/tvai-v2/其他配置/ends-in-whitespace-escape.json @@ -0,0 +1,6 @@ +{ + "beee": { + "type": "string", + "value": "heeee\ngeeee" + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/其他配置/five-quotes.json b/cargos/tvai-v2/其他配置/five-quotes.json new file mode 100644 index 0000000..c711e50 --- /dev/null +++ b/cargos/tvai-v2/其他配置/five-quotes.json @@ -0,0 +1,10 @@ +{ + "five-quotes": { + "type": "string", + "value": "Closing with five quotes\n\"\"" + }, + "four-quotes": { + "type": "string", + "value": "Closing with four quotes\n\"" + } +} \ No newline at end of file diff --git a/cargos/tvai-v2/models/hex-char.json b/cargos/tvai-v2/其他配置/hex-char.json similarity index 100% rename from cargos/tvai-v2/models/hex-char.json rename to cargos/tvai-v2/其他配置/hex-char.json diff --git a/cargos/tvai-v2/models/imagenet_real_labels.json b/cargos/tvai-v2/其他配置/imagenet_real_labels.json similarity index 100% rename from cargos/tvai-v2/models/imagenet_real_labels.json rename to cargos/tvai-v2/其他配置/imagenet_real_labels.json diff --git a/cargos/tvai-v2/models/levenshtein_examples.json b/cargos/tvai-v2/其他配置/levenshtein_examples.json similarity index 100% rename from cargos/tvai-v2/models/levenshtein_examples.json rename to cargos/tvai-v2/其他配置/levenshtein_examples.json diff --git a/cargos/tvai-v2/models/localtime.json b/cargos/tvai-v2/其他配置/localtime.json similarity index 100% rename from cargos/tvai-v2/models/localtime.json rename to cargos/tvai-v2/其他配置/localtime.json diff --git a/cargos/tvai-v2/models/no-newlines.json b/cargos/tvai-v2/其他配置/no-newlines.json similarity index 100% rename from cargos/tvai-v2/models/no-newlines.json rename to cargos/tvai-v2/其他配置/no-newlines.json diff --git a/cargos/tvai-v2/models/open-parent-table.json b/cargos/tvai-v2/其他配置/open-parent-table.json similarity index 100% rename from cargos/tvai-v2/models/open-parent-table.json rename to cargos/tvai-v2/其他配置/open-parent-table.json diff --git a/cargos/tvai-v2/models/proxy.json b/cargos/tvai-v2/其他配置/proxy.json similarity index 100% rename from cargos/tvai-v2/models/proxy.json rename to cargos/tvai-v2/其他配置/proxy.json diff --git a/cargos/tvai-v2/models/setuptools.schema.json b/cargos/tvai-v2/其他配置/setuptools.schema.json similarity index 100% rename from cargos/tvai-v2/models/setuptools.schema.json rename to cargos/tvai-v2/其他配置/setuptools.schema.json diff --git a/cargos/tvai-v2/models/studentized_range_mpmath_ref.json b/cargos/tvai-v2/其他配置/studentized_range_mpmath_ref.json similarity index 100% rename from cargos/tvai-v2/models/studentized_range_mpmath_ref.json rename to cargos/tvai-v2/其他配置/studentized_range_mpmath_ref.json diff --git a/cargos/tvai-v2/models/trailing-comma.json b/cargos/tvai-v2/其他配置/trailing-comma.json similarity index 100% rename from cargos/tvai-v2/models/trailing-comma.json rename to cargos/tvai-v2/其他配置/trailing-comma.json diff --git a/cargos/tvai-v2/models/zoneinfo_data.json b/cargos/tvai-v2/其他配置/zoneinfo_data.json similarity index 100% rename from cargos/tvai-v2/models/zoneinfo_data.json rename to cargos/tvai-v2/其他配置/zoneinfo_data.json diff --git a/cargos/tvai-v2/编码解码配置/audio-codecs.json b/cargos/tvai-v2/编码解码配置/audio-codecs.json new file mode 100644 index 0000000..53a657b --- /dev/null +++ b/cargos/tvai-v2/编码解码配置/audio-codecs.json @@ -0,0 +1,67 @@ +[ + { + "name": "AAC", + "ffmpegOpts": "aac -ac 2", + "ext": [ + "mp4", + "mov", + "mkv", + "avi" + ], + "bitrate": { + "min": 32, + "minRec": 128, + "max": 320, + "default": 320, + "suggested": [ + 128, + 160, + 192, + 256, + 320 + ], + "ffmpegOpt": "-b:a k" + } + }, + { + "name": "AC3", + "ffmpegOpts": "ac3", + "ext": [ + "mp4", + "mov", + "mkv", + "avi" + ], + "bitrate": { + "min": 160, + "minRec": 160, + "max": 640, + "default": 448, + "suggested": [ + 160, + 192, + 256, + 320, + 448, + 640 + ], + "ffmpegOpt": "-b:a k" + } + }, + { + "name": "PCM", + "ffmpegOpts": "pcm_s24le", + "ext": [ + "mov", + "mkv", + "avi" + ] + }, + { + "name": "Vorbis", + "ffmpegOpts": "vorbis -ac 2", + "ext": [ + "webm" + ] + } +] \ No newline at end of file diff --git a/cargos/tvai-v2/models/model-recommendation-rules.json b/cargos/tvai-v2/编码解码配置/model-recommendation-rules.json similarity index 100% rename from cargos/tvai-v2/models/model-recommendation-rules.json rename to cargos/tvai-v2/编码解码配置/model-recommendation-rules.json diff --git a/cargos/tvai-v2/models/video-encoders.json b/cargos/tvai-v2/编码解码配置/video-encoders.json similarity index 100% rename from cargos/tvai-v2/models/video-encoders.json rename to cargos/tvai-v2/编码解码配置/video-encoders.json diff --git a/cargos/tvai-v2/models/EVA01-g-14-plus.json b/cargos/tvai-v2/视觉-语言模型配置/EVA01-g-14-plus.json similarity index 100% rename from cargos/tvai-v2/models/EVA01-g-14-plus.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA01-g-14-plus.json diff --git a/cargos/tvai-v2/models/EVA01-g-14.json b/cargos/tvai-v2/视觉-语言模型配置/EVA01-g-14.json similarity index 100% rename from cargos/tvai-v2/models/EVA01-g-14.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA01-g-14.json diff --git a/cargos/tvai-v2/models/EVA02-B-16.json b/cargos/tvai-v2/视觉-语言模型配置/EVA02-B-16.json similarity index 100% rename from cargos/tvai-v2/models/EVA02-B-16.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA02-B-16.json diff --git a/cargos/tvai-v2/models/EVA02-E-14-plus.json b/cargos/tvai-v2/视觉-语言模型配置/EVA02-E-14-plus.json similarity index 100% rename from cargos/tvai-v2/models/EVA02-E-14-plus.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA02-E-14-plus.json diff --git a/cargos/tvai-v2/models/EVA02-E-14.json b/cargos/tvai-v2/视觉-语言模型配置/EVA02-E-14.json similarity index 100% rename from cargos/tvai-v2/models/EVA02-E-14.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA02-E-14.json diff --git a/cargos/tvai-v2/models/EVA02-L-14-336.json b/cargos/tvai-v2/视觉-语言模型配置/EVA02-L-14-336.json similarity index 100% rename from cargos/tvai-v2/models/EVA02-L-14-336.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA02-L-14-336.json diff --git a/cargos/tvai-v2/models/EVA02-L-14.json b/cargos/tvai-v2/视觉-语言模型配置/EVA02-L-14.json similarity index 100% rename from cargos/tvai-v2/models/EVA02-L-14.json rename to cargos/tvai-v2/视觉-语言模型配置/EVA02-L-14.json diff --git a/cargos/tvai-v2/models/MobileCLIP-B.json b/cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-B.json similarity index 100% rename from cargos/tvai-v2/models/MobileCLIP-B.json rename to cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-B.json diff --git a/cargos/tvai-v2/models/MobileCLIP-S1.json b/cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-S1.json similarity index 100% rename from cargos/tvai-v2/models/MobileCLIP-S1.json rename to cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-S1.json diff --git a/cargos/tvai-v2/models/MobileCLIP-S2.json b/cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-S2.json similarity index 100% rename from cargos/tvai-v2/models/MobileCLIP-S2.json rename to cargos/tvai-v2/视觉-语言模型配置/MobileCLIP-S2.json diff --git a/cargos/tvai-v2/models/RN101-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/RN101-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/RN101-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/RN101-quickgelu.json diff --git a/cargos/tvai-v2/models/RN101.json b/cargos/tvai-v2/视觉-语言模型配置/RN101.json similarity index 100% rename from cargos/tvai-v2/models/RN101.json rename to cargos/tvai-v2/视觉-语言模型配置/RN101.json diff --git a/cargos/tvai-v2/models/RN50-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/RN50-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/RN50-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50-quickgelu.json diff --git a/cargos/tvai-v2/models/RN50.json b/cargos/tvai-v2/视觉-语言模型配置/RN50.json similarity index 100% rename from cargos/tvai-v2/models/RN50.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50.json diff --git a/cargos/tvai-v2/models/RN50x16-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x16-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/RN50x16-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x16-quickgelu.json diff --git a/cargos/tvai-v2/models/RN50x16.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x16.json similarity index 100% rename from cargos/tvai-v2/models/RN50x16.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x16.json diff --git a/cargos/tvai-v2/models/RN50x4-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x4-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/RN50x4-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x4-quickgelu.json diff --git a/cargos/tvai-v2/models/RN50x4.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x4.json similarity index 100% rename from cargos/tvai-v2/models/RN50x4.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x4.json diff --git a/cargos/tvai-v2/models/RN50x64-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x64-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/RN50x64-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x64-quickgelu.json diff --git a/cargos/tvai-v2/models/RN50x64.json b/cargos/tvai-v2/视觉-语言模型配置/RN50x64.json similarity index 100% rename from cargos/tvai-v2/models/RN50x64.json rename to cargos/tvai-v2/视觉-语言模型配置/RN50x64.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-256.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-384.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP-512.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-512.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP-512.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-512.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP-i18n-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-i18n-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP-i18n-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP-i18n-256.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-256.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP2-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP2-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-384.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP2-512.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-512.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP2-512.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2-512.json diff --git a/cargos/tvai-v2/models/ViT-B-16-SigLIP2.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-SigLIP2.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-SigLIP2.json diff --git a/cargos/tvai-v2/models/ViT-B-16-plus-240.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-plus-240.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-plus-240.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-plus-240.json diff --git a/cargos/tvai-v2/models/ViT-B-16-plus.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-plus.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-plus.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-plus.json diff --git a/cargos/tvai-v2/models/ViT-B-16-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-B-16.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-16.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-16.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-16.json diff --git a/cargos/tvai-v2/models/ViT-B-32-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-32-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-256.json diff --git a/cargos/tvai-v2/models/ViT-B-32-SigLIP2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-SigLIP2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-32-SigLIP2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-SigLIP2-256.json diff --git a/cargos/tvai-v2/models/ViT-B-32-plus-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-plus-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-32-plus-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-plus-256.json diff --git a/cargos/tvai-v2/models/ViT-B-32-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-32-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-32-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-B-32.json diff --git a/cargos/tvai-v2/models/ViT-H-14-378-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-378-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14-378-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-378-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-H-14-378.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-378.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14-378.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-378.json diff --git a/cargos/tvai-v2/models/ViT-H-14-CLIPA-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-CLIPA-336.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14-CLIPA-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-CLIPA-336.json diff --git a/cargos/tvai-v2/models/ViT-H-14-CLIPA.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-CLIPA.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14-CLIPA.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-CLIPA.json diff --git a/cargos/tvai-v2/models/ViT-H-14-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-H-14.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-14.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-14.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-14.json diff --git a/cargos/tvai-v2/models/ViT-H-16.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-H-16.json similarity index 100% rename from cargos/tvai-v2/models/ViT-H-16.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-H-16.json diff --git a/cargos/tvai-v2/models/ViT-L-14-280.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-280.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-280.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-280.json diff --git a/cargos/tvai-v2/models/ViT-L-14-336-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-336-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-336-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-336-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-L-14-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-336.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-336.json diff --git a/cargos/tvai-v2/models/ViT-L-14-CLIPA-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-CLIPA-336.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-CLIPA-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-CLIPA-336.json diff --git a/cargos/tvai-v2/models/ViT-L-14-CLIPA.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-CLIPA.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-CLIPA.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-CLIPA.json diff --git a/cargos/tvai-v2/models/ViT-L-14-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-L-14.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-14.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-14.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-14.json diff --git a/cargos/tvai-v2/models/ViT-L-16-320.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-320.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-320.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-320.json diff --git a/cargos/tvai-v2/models/ViT-L-16-SigLIP-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-SigLIP-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP-256.json diff --git a/cargos/tvai-v2/models/ViT-L-16-SigLIP-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-SigLIP-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP-384.json diff --git a/cargos/tvai-v2/models/ViT-L-16-SigLIP2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-SigLIP2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-256.json diff --git a/cargos/tvai-v2/models/ViT-L-16-SigLIP2-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-SigLIP2-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-384.json diff --git a/cargos/tvai-v2/models/ViT-L-16-SigLIP2-512.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-512.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16-SigLIP2-512.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16-SigLIP2-512.json diff --git a/cargos/tvai-v2/models/ViT-L-16.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-L-16.json similarity index 100% rename from cargos/tvai-v2/models/ViT-L-16.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-L-16.json diff --git a/cargos/tvai-v2/models/ViT-M-16-alt.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-M-16-alt.json similarity index 100% rename from cargos/tvai-v2/models/ViT-M-16-alt.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-M-16-alt.json diff --git a/cargos/tvai-v2/models/ViT-M-16.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-M-16.json similarity index 100% rename from cargos/tvai-v2/models/ViT-M-16.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-M-16.json diff --git a/cargos/tvai-v2/models/ViT-M-32-alt.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-M-32-alt.json similarity index 100% rename from cargos/tvai-v2/models/ViT-M-32-alt.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-M-32-alt.json diff --git a/cargos/tvai-v2/models/ViT-M-32.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-M-32.json similarity index 100% rename from cargos/tvai-v2/models/ViT-M-32.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-M-32.json diff --git a/cargos/tvai-v2/models/ViT-S-16-alt.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-S-16-alt.json similarity index 100% rename from cargos/tvai-v2/models/ViT-S-16-alt.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-S-16-alt.json diff --git a/cargos/tvai-v2/models/ViT-S-16.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-S-16.json similarity index 100% rename from cargos/tvai-v2/models/ViT-S-16.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-S-16.json diff --git a/cargos/tvai-v2/models/ViT-S-32-alt.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-S-32-alt.json similarity index 100% rename from cargos/tvai-v2/models/ViT-S-32-alt.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-S-32-alt.json diff --git a/cargos/tvai-v2/models/ViT-S-32.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-S-32.json similarity index 100% rename from cargos/tvai-v2/models/ViT-S-32.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-S-32.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-378.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP-378.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-378.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP-378.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP-384.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-14-SigLIP.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-14-SigLIP.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2-378.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP2-378.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2-378.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP2-378.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP2.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-14-SigLIP2.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-16-SigLIP-i18n-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP-i18n-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-16-SigLIP-i18n-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP-i18n-256.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-256.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-384.json diff --git a/cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-512.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-512.json similarity index 100% rename from cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-512.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-SO400M-16-SigLIP2-512.json diff --git a/cargos/tvai-v2/models/ViT-bigG-14-CLIPA-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-CLIPA-336.json similarity index 100% rename from cargos/tvai-v2/models/ViT-bigG-14-CLIPA-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-CLIPA-336.json diff --git a/cargos/tvai-v2/models/ViT-bigG-14-CLIPA.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-CLIPA.json similarity index 100% rename from cargos/tvai-v2/models/ViT-bigG-14-CLIPA.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-CLIPA.json diff --git a/cargos/tvai-v2/models/ViT-bigG-14-quickgelu.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-quickgelu.json similarity index 100% rename from cargos/tvai-v2/models/ViT-bigG-14-quickgelu.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14-quickgelu.json diff --git a/cargos/tvai-v2/models/ViT-bigG-14.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14.json similarity index 100% rename from cargos/tvai-v2/models/ViT-bigG-14.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-bigG-14.json diff --git a/cargos/tvai-v2/models/ViT-e-14.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-e-14.json similarity index 100% rename from cargos/tvai-v2/models/ViT-e-14.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-e-14.json diff --git a/cargos/tvai-v2/models/ViT-g-14.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-g-14.json similarity index 100% rename from cargos/tvai-v2/models/ViT-g-14.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-g-14.json diff --git a/cargos/tvai-v2/models/ViT-gopt-16-SigLIP2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-gopt-16-SigLIP2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViT-gopt-16-SigLIP2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-gopt-16-SigLIP2-256.json diff --git a/cargos/tvai-v2/models/ViT-gopt-16-SigLIP2-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViT-gopt-16-SigLIP2-384.json similarity index 100% rename from cargos/tvai-v2/models/ViT-gopt-16-SigLIP2-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViT-gopt-16-SigLIP2-384.json diff --git a/cargos/tvai-v2/models/ViTamin-B-LTT.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-B-LTT.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-B-LTT.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-B-LTT.json diff --git a/cargos/tvai-v2/models/ViTamin-B.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-B.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-B.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-B.json diff --git a/cargos/tvai-v2/models/ViTamin-L-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-256.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-256.json diff --git a/cargos/tvai-v2/models/ViTamin-L-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-336.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-336.json diff --git a/cargos/tvai-v2/models/ViTamin-L-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-384.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L-384.json diff --git a/cargos/tvai-v2/models/ViTamin-L.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L.json diff --git a/cargos/tvai-v2/models/ViTamin-L2-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-256.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L2-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-256.json diff --git a/cargos/tvai-v2/models/ViTamin-L2-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-336.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L2-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-336.json diff --git a/cargos/tvai-v2/models/ViTamin-L2-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-384.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L2-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2-384.json diff --git a/cargos/tvai-v2/models/ViTamin-L2.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-L2.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-L2.json diff --git a/cargos/tvai-v2/models/ViTamin-S-LTT.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-S-LTT.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-S-LTT.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-S-LTT.json diff --git a/cargos/tvai-v2/models/ViTamin-S.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-S.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-S.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-S.json diff --git a/cargos/tvai-v2/models/ViTamin-XL-256.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-256.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-XL-256.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-256.json diff --git a/cargos/tvai-v2/models/ViTamin-XL-336.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-336.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-XL-336.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-336.json diff --git a/cargos/tvai-v2/models/ViTamin-XL-384.json b/cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-384.json similarity index 100% rename from cargos/tvai-v2/models/ViTamin-XL-384.json rename to cargos/tvai-v2/视觉-语言模型配置/ViTamin-XL-384.json diff --git a/cargos/tvai-v2/models/coca_ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/coca_ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/coca_ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/coca_ViT-B-32.json diff --git a/cargos/tvai-v2/models/coca_ViT-L-14.json b/cargos/tvai-v2/视觉-语言模型配置/coca_ViT-L-14.json similarity index 100% rename from cargos/tvai-v2/models/coca_ViT-L-14.json rename to cargos/tvai-v2/视觉-语言模型配置/coca_ViT-L-14.json diff --git a/cargos/tvai-v2/models/coca_base.json b/cargos/tvai-v2/视觉-语言模型配置/coca_base.json similarity index 100% rename from cargos/tvai-v2/models/coca_base.json rename to cargos/tvai-v2/视觉-语言模型配置/coca_base.json diff --git a/cargos/tvai-v2/models/coca_roberta-ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/coca_roberta-ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/coca_roberta-ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/coca_roberta-ViT-B-32.json diff --git a/cargos/tvai-v2/models/convnext_base.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_base.json similarity index 100% rename from cargos/tvai-v2/models/convnext_base.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_base.json diff --git a/cargos/tvai-v2/models/convnext_base_w.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_base_w.json similarity index 100% rename from cargos/tvai-v2/models/convnext_base_w.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_base_w.json diff --git a/cargos/tvai-v2/models/convnext_base_w_320.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_base_w_320.json similarity index 100% rename from cargos/tvai-v2/models/convnext_base_w_320.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_base_w_320.json diff --git a/cargos/tvai-v2/models/convnext_large.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_large.json similarity index 100% rename from cargos/tvai-v2/models/convnext_large.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_large.json diff --git a/cargos/tvai-v2/models/convnext_large_d.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_large_d.json similarity index 100% rename from cargos/tvai-v2/models/convnext_large_d.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_large_d.json diff --git a/cargos/tvai-v2/models/convnext_large_d_320.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_large_d_320.json similarity index 100% rename from cargos/tvai-v2/models/convnext_large_d_320.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_large_d_320.json diff --git a/cargos/tvai-v2/models/convnext_small.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_small.json similarity index 100% rename from cargos/tvai-v2/models/convnext_small.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_small.json diff --git a/cargos/tvai-v2/models/convnext_tiny.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_tiny.json similarity index 100% rename from cargos/tvai-v2/models/convnext_tiny.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_tiny.json diff --git a/cargos/tvai-v2/models/convnext_xlarge.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_xlarge.json similarity index 100% rename from cargos/tvai-v2/models/convnext_xlarge.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_xlarge.json diff --git a/cargos/tvai-v2/models/convnext_xxlarge.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_xxlarge.json similarity index 100% rename from cargos/tvai-v2/models/convnext_xxlarge.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_xxlarge.json diff --git a/cargos/tvai-v2/models/convnext_xxlarge_320.json b/cargos/tvai-v2/视觉-语言模型配置/convnext_xxlarge_320.json similarity index 100% rename from cargos/tvai-v2/models/convnext_xxlarge_320.json rename to cargos/tvai-v2/视觉-语言模型配置/convnext_xxlarge_320.json diff --git a/cargos/tvai-v2/models/mt5-base-ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/mt5-base-ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/mt5-base-ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/mt5-base-ViT-B-32.json diff --git a/cargos/tvai-v2/models/mt5-xl-ViT-H-14.json b/cargos/tvai-v2/视觉-语言模型配置/mt5-xl-ViT-H-14.json similarity index 100% rename from cargos/tvai-v2/models/mt5-xl-ViT-H-14.json rename to cargos/tvai-v2/视觉-语言模型配置/mt5-xl-ViT-H-14.json diff --git a/cargos/tvai-v2/models/nllb-clip-base-siglip.json b/cargos/tvai-v2/视觉-语言模型配置/nllb-clip-base-siglip.json similarity index 100% rename from cargos/tvai-v2/models/nllb-clip-base-siglip.json rename to cargos/tvai-v2/视觉-语言模型配置/nllb-clip-base-siglip.json diff --git a/cargos/tvai-v2/models/nllb-clip-base.json b/cargos/tvai-v2/视觉-语言模型配置/nllb-clip-base.json similarity index 100% rename from cargos/tvai-v2/models/nllb-clip-base.json rename to cargos/tvai-v2/视觉-语言模型配置/nllb-clip-base.json diff --git a/cargos/tvai-v2/models/nllb-clip-large-siglip.json b/cargos/tvai-v2/视觉-语言模型配置/nllb-clip-large-siglip.json similarity index 100% rename from cargos/tvai-v2/models/nllb-clip-large-siglip.json rename to cargos/tvai-v2/视觉-语言模型配置/nllb-clip-large-siglip.json diff --git a/cargos/tvai-v2/models/nllb-clip-large.json b/cargos/tvai-v2/视觉-语言模型配置/nllb-clip-large.json similarity index 100% rename from cargos/tvai-v2/models/nllb-clip-large.json rename to cargos/tvai-v2/视觉-语言模型配置/nllb-clip-large.json diff --git a/cargos/tvai-v2/models/roberta-ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/roberta-ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/roberta-ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/roberta-ViT-B-32.json diff --git a/cargos/tvai-v2/models/swin_base_patch4_window7_224.json b/cargos/tvai-v2/视觉-语言模型配置/swin_base_patch4_window7_224.json similarity index 100% rename from cargos/tvai-v2/models/swin_base_patch4_window7_224.json rename to cargos/tvai-v2/视觉-语言模型配置/swin_base_patch4_window7_224.json diff --git a/cargos/tvai-v2/models/vit_medium_patch16_gap_256.json b/cargos/tvai-v2/视觉-语言模型配置/vit_medium_patch16_gap_256.json similarity index 100% rename from cargos/tvai-v2/models/vit_medium_patch16_gap_256.json rename to cargos/tvai-v2/视觉-语言模型配置/vit_medium_patch16_gap_256.json diff --git a/cargos/tvai-v2/models/vit_relpos_medium_patch16_cls_224.json b/cargos/tvai-v2/视觉-语言模型配置/vit_relpos_medium_patch16_cls_224.json similarity index 100% rename from cargos/tvai-v2/models/vit_relpos_medium_patch16_cls_224.json rename to cargos/tvai-v2/视觉-语言模型配置/vit_relpos_medium_patch16_cls_224.json diff --git a/cargos/tvai-v2/models/xlm-roberta-base-ViT-B-32.json b/cargos/tvai-v2/视觉-语言模型配置/xlm-roberta-base-ViT-B-32.json similarity index 100% rename from cargos/tvai-v2/models/xlm-roberta-base-ViT-B-32.json rename to cargos/tvai-v2/视觉-语言模型配置/xlm-roberta-base-ViT-B-32.json diff --git a/cargos/tvai-v2/models/xlm-roberta-large-ViT-H-14.json b/cargos/tvai-v2/视觉-语言模型配置/xlm-roberta-large-ViT-H-14.json similarity index 100% rename from cargos/tvai-v2/models/xlm-roberta-large-ViT-H-14.json rename to cargos/tvai-v2/视觉-语言模型配置/xlm-roberta-large-ViT-H-14.json