feat: add template json
This commit is contained in:
588
cargos/tvai-v2/Cargo.lock
generated
Normal file
588
cargos/tvai-v2/Cargo.lock
generated
Normal file
@@ -0,0 +1,588 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "android-tzdata"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||
|
||||
[[package]]
|
||||
name = "android_system_properties"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.2.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.41"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
|
||||
dependencies = [
|
||||
"android-tzdata",
|
||||
"iana-time-zone",
|
||||
"js-sys",
|
||||
"num-traits",
|
||||
"serde",
|
||||
"wasm-bindgen",
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation-sys"
|
||||
version = "0.8.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"r-efi",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone"
|
||||
version = "0.1.63"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
|
||||
dependencies = [
|
||||
"android_system_properties",
|
||||
"core-foundation-sys",
|
||||
"iana-time-zone-haiku",
|
||||
"js-sys",
|
||||
"log",
|
||||
"wasm-bindgen",
|
||||
"windows-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone-haiku"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.175"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.9.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "r-efi"
|
||||
version = "5.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.142"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.105"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
|
||||
dependencies = [
|
||||
"fastrand",
|
||||
"getrandom",
|
||||
"once_cell",
|
||||
"rustix",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tvai-sdk"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tempfile",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.14.2+wasi-0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
|
||||
dependencies = [
|
||||
"wit-bindgen-rt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
"rustversion",
|
||||
"wasm-bindgen-macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.61.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
|
||||
dependencies = [
|
||||
"windows-implement",
|
||||
"windows-interface",
|
||||
"windows-link",
|
||||
"windows-result",
|
||||
"windows-strings",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-implement"
|
||||
version = "0.60.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-interface"
|
||||
version = "0.59.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-link"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
|
||||
|
||||
[[package]]
|
||||
name = "windows-result"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-strings"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.60.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
|
||||
dependencies = [
|
||||
"windows-targets 0.53.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.52.6",
|
||||
"windows_aarch64_msvc 0.52.6",
|
||||
"windows_i686_gnu 0.52.6",
|
||||
"windows_i686_gnullvm 0.52.6",
|
||||
"windows_i686_msvc 0.52.6",
|
||||
"windows_x86_64_gnu 0.52.6",
|
||||
"windows_x86_64_gnullvm 0.52.6",
|
||||
"windows_x86_64_msvc 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.53.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
"windows_aarch64_gnullvm 0.53.0",
|
||||
"windows_aarch64_msvc 0.53.0",
|
||||
"windows_i686_gnu 0.53.0",
|
||||
"windows_i686_gnullvm 0.53.0",
|
||||
"windows_i686_msvc 0.53.0",
|
||||
"windows_x86_64_gnu 0.53.0",
|
||||
"windows_x86_64_gnullvm 0.53.0",
|
||||
"windows_x86_64_msvc 0.53.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
||||
|
||||
[[package]]
|
||||
name = "wit-bindgen-rt"
|
||||
version = "0.39.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
36
cargos/tvai-v2/Cargo.toml
Normal file
36
cargos/tvai-v2/Cargo.toml
Normal file
@@ -0,0 +1,36 @@
|
||||
[package]
|
||||
name = "tvai-sdk"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = ["AI Assistant"]
|
||||
description = "Rust SDK for Topaz Video AI template management and FFmpeg command generation"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/example/tvai-sdk"
|
||||
keywords = ["video", "ai", "ffmpeg", "topaz", "template"]
|
||||
categories = ["multimedia::video", "api-bindings"]
|
||||
|
||||
[workspace]
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = "3.0"
|
||||
|
||||
[lib]
|
||||
name = "tvai_sdk"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[[example]]
|
||||
name = "basic_usage"
|
||||
path = "examples/basic_usage.rs"
|
||||
|
||||
[[example]]
|
||||
name = "template_management"
|
||||
path = "examples/template_management.rs"
|
||||
|
||||
[[example]]
|
||||
name = "ffmpeg_generation"
|
||||
path = "examples/ffmpeg_generation.rs"
|
||||
293
cargos/tvai-v2/README.md
Normal file
293
cargos/tvai-v2/README.md
Normal file
@@ -0,0 +1,293 @@
|
||||
# Topaz Video AI Rust SDK
|
||||
|
||||
A comprehensive Rust SDK for managing Topaz Video AI templates and generating FFmpeg commands with AI-powered video processing filters.
|
||||
|
||||
## Features
|
||||
|
||||
- 🎯 **Template Management**: Load, validate, and manage Topaz Video AI templates
|
||||
- 🔧 **FFmpeg Command Generation**: Convert templates to optimized FFmpeg commands
|
||||
- 🚀 **Hardware Acceleration**: Support for NVIDIA, AMD, and Intel hardware acceleration
|
||||
- 📦 **Batch Processing**: Generate commands for multiple files at once
|
||||
- 🛠️ **Template Builder**: Programmatically create custom templates
|
||||
- 📋 **Presets**: Built-in templates for common video processing tasks
|
||||
- 💾 **Database Support**: Interface for database storage and runtime loading
|
||||
- ✅ **Validation**: Comprehensive template validation and auto-completion
|
||||
|
||||
## Quick Start
|
||||
|
||||
Add this to your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
tvai-sdk = "0.1.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
```
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```rust
|
||||
use tvai_sdk::*;
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Create SDK instance
|
||||
let mut sdk = TvaiSdk::new();
|
||||
|
||||
// Create a template using presets
|
||||
let template = TemplatePresets::upscale_to_4k()?;
|
||||
|
||||
// Generate FFmpeg command
|
||||
let command = sdk.generate_ffmpeg_command(
|
||||
&template,
|
||||
"input.mp4",
|
||||
"output_4k.mp4"
|
||||
)?;
|
||||
|
||||
println!("FFmpeg command: {}", command);
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
|
||||
### Load Templates from Directory
|
||||
|
||||
```rust
|
||||
let mut sdk = TvaiSdk::new();
|
||||
|
||||
// Load all JSON templates from directory
|
||||
sdk.load_templates_from_dir("./templates")?;
|
||||
|
||||
// List loaded templates
|
||||
for name in sdk.get_template_names() {
|
||||
println!("Loaded template: {}", name);
|
||||
}
|
||||
```
|
||||
|
||||
### Create Custom Templates
|
||||
|
||||
```rust
|
||||
let custom_template = TemplateBuilder::new("My Custom Template")
|
||||
.description("Custom video enhancement")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(30, 20, 10) // denoise, detail, sharpen
|
||||
.enable_stabilization(60, 1) // smoothness, method
|
||||
.output_settings(6, 60.0) // FHD, 60fps
|
||||
.build()?;
|
||||
|
||||
sdk.add_template(custom_template)?;
|
||||
```
|
||||
|
||||
### Hardware Acceleration
|
||||
|
||||
```rust
|
||||
// Generate command with GPU acceleration
|
||||
let gpu_command = sdk.generate_ffmpeg_command_with_gpu(
|
||||
&template,
|
||||
"input.mp4",
|
||||
"output.mp4",
|
||||
"0" // GPU device 0
|
||||
)?;
|
||||
|
||||
// Generate command with custom codec
|
||||
let nvenc_command = sdk.generate_ffmpeg_command_with_codec(
|
||||
&template,
|
||||
"input.mp4",
|
||||
"output.mp4",
|
||||
"hevc_nvenc",
|
||||
Some(20) // quality
|
||||
)?;
|
||||
```
|
||||
|
||||
### Batch Processing
|
||||
|
||||
```rust
|
||||
let input_files = vec![
|
||||
"video1.mp4".to_string(),
|
||||
"video2.mp4".to_string(),
|
||||
"video3.mp4".to_string(),
|
||||
];
|
||||
|
||||
let commands = sdk.generate_batch_commands(
|
||||
&template,
|
||||
&input_files,
|
||||
"./output"
|
||||
)?;
|
||||
|
||||
for command in commands {
|
||||
println!("Batch command: {}", command);
|
||||
}
|
||||
```
|
||||
|
||||
## Template Structure
|
||||
|
||||
Templates are JSON files with the following structure:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Template Name",
|
||||
"description": "Template description",
|
||||
"author": "Author Name",
|
||||
"date": "Creation date",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"settings": {
|
||||
"stabilize": { ... },
|
||||
"motionblur": { ... },
|
||||
"slowmo": { ... },
|
||||
"enhance": { ... },
|
||||
"grain": { ... },
|
||||
"output": { ... }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Supported Processing Modules
|
||||
|
||||
### Video Enhancement (`enhance`)
|
||||
- **Models**: prob-3, prob-4, nyx-3, etc.
|
||||
- **Parameters**: denoise, detail, sharpen, compress, dehalo, deblur
|
||||
- **FFmpeg Filter**: `tvai_up`
|
||||
|
||||
### Frame Interpolation (`slowmo`)
|
||||
- **Models**: apo-8, chf-3, chr-2, etc.
|
||||
- **Parameters**: factor, fps, duplicate threshold
|
||||
- **FFmpeg Filter**: `tvai_fi`
|
||||
|
||||
### Video Stabilization (`stabilize`)
|
||||
- **Parameters**: smoothness, method, rolling shutter correction
|
||||
- **FFmpeg Filter**: `tvai_stb`
|
||||
|
||||
### Grain Effect (`grain`)
|
||||
- **Parameters**: grain amount, grain size
|
||||
- **FFmpeg Filter**: `noise` (approximation)
|
||||
|
||||
## Built-in Presets
|
||||
|
||||
The SDK includes several built-in template presets:
|
||||
|
||||
- `TemplatePresets::upscale_to_4k()` - Upscale video to 4K resolution
|
||||
- `TemplatePresets::convert_to_60fps()` - Convert video to 60 FPS
|
||||
- `TemplatePresets::remove_noise()` - Remove noise using AI
|
||||
- `TemplatePresets::stabilize_video()` - Stabilize shaky video
|
||||
- `TemplatePresets::slow_motion_4x()` - Create 4x slow motion effect
|
||||
- `TemplatePresets::comprehensive_enhancement()` - Complete enhancement
|
||||
|
||||
## Hardware Acceleration Support
|
||||
|
||||
### NVIDIA (NVENC/NVDEC)
|
||||
```rust
|
||||
// Single GPU
|
||||
let command = sdk.generate_ffmpeg_command_with_gpu(&template, input, output, "0")?;
|
||||
|
||||
// Multi-GPU
|
||||
let command = sdk.generate_ffmpeg_command_with_gpu(&template, input, output, "0.1")?;
|
||||
|
||||
// NVENC codec
|
||||
let command = sdk.generate_ffmpeg_command_with_codec(&template, input, output, "hevc_nvenc", Some(20))?;
|
||||
```
|
||||
|
||||
### AMD (AMF)
|
||||
```rust
|
||||
let command = sdk.generate_ffmpeg_command_with_codec(&template, input, output, "h264_amf", Some(25))?;
|
||||
```
|
||||
|
||||
### Intel (QSV)
|
||||
```rust
|
||||
let command = sdk.generate_ffmpeg_command_with_codec(&template, input, output, "h264_qsv", Some(23))?;
|
||||
```
|
||||
|
||||
## Database Integration
|
||||
|
||||
Implement the `TemplateDatabase` trait for custom database storage:
|
||||
|
||||
```rust
|
||||
use tvai_sdk::TemplateDatabase;
|
||||
|
||||
struct MyDatabase {
|
||||
// Your database connection
|
||||
}
|
||||
|
||||
impl TemplateDatabase for MyDatabase {
|
||||
fn save_template(&self, template: &Template) -> TvaiResult<()> {
|
||||
// Save template to database
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn load_template(&self, name: &str) -> TvaiResult<Template> {
|
||||
// Load template from database
|
||||
todo!()
|
||||
}
|
||||
|
||||
// Implement other methods...
|
||||
}
|
||||
|
||||
// Use with DatabaseTemplateManager
|
||||
let db = MyDatabase::new();
|
||||
let mut manager = DatabaseTemplateManager::new(db);
|
||||
manager.load_from_database()?;
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
Run the included examples:
|
||||
|
||||
```bash
|
||||
# Basic usage
|
||||
cargo run --example basic_usage
|
||||
|
||||
# Template management
|
||||
cargo run --example template_management
|
||||
|
||||
# FFmpeg command generation
|
||||
cargo run --example ffmpeg_generation
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
Run the test suite:
|
||||
|
||||
```bash
|
||||
cargo test
|
||||
```
|
||||
|
||||
## Model Mappings
|
||||
|
||||
The SDK maps Topaz Video AI template models to FFmpeg filter models:
|
||||
|
||||
| Template Model | FFmpeg Model | Filter |
|
||||
|----------------|--------------|--------|
|
||||
| prob-3, prob-4 | ahq-12 | tvai_up |
|
||||
| nyx-3 | nyx-3 | tvai_up |
|
||||
| apo-8, chf-3 | chr-2 | tvai_fi |
|
||||
| thm-2 | thm-2 | tvai_up |
|
||||
|
||||
You can add custom mappings:
|
||||
|
||||
```rust
|
||||
sdk.add_model_mapping("custom-model".to_string(), "ffmpeg-model".to_string());
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
The SDK uses a comprehensive error system:
|
||||
|
||||
```rust
|
||||
use tvai_sdk::TvaiError;
|
||||
|
||||
match sdk.load_template_from_file("template.json") {
|
||||
Ok(template) => println!("Loaded: {}", template.name),
|
||||
Err(TvaiError::IoError(e)) => println!("File error: {}", e),
|
||||
Err(TvaiError::JsonParseError(e)) => println!("JSON error: {}", e),
|
||||
Err(TvaiError::ValidationError(msg)) => println!("Validation error: {}", msg),
|
||||
Err(e) => println!("Other error: {}", e),
|
||||
}
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see LICENSE file for details.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||
150
cargos/tvai-v2/SUMMARY.md
Normal file
150
cargos/tvai-v2/SUMMARY.md
Normal file
@@ -0,0 +1,150 @@
|
||||
# Topaz Video AI Rust SDK - 项目总结
|
||||
|
||||
## 项目概述
|
||||
|
||||
本项目成功开发了一个完整的Rust SDK,用于管理Topaz Video AI模板并生成FFmpeg命令。SDK提供了从模板分析、管理到FFmpeg命令生成的完整解决方案。
|
||||
|
||||
## 完成的功能
|
||||
|
||||
### ✅ 1. 模板结构分析和数据模型设计
|
||||
- **完整的模板结构映射**: 分析了现有模板文件,设计了完整的Rust数据结构
|
||||
- **支持所有功能模块**: stabilize、motionblur、slowmo、enhance、grain、output、filterManager
|
||||
- **版本兼容性**: 支持不同版本的模板格式(3.3.5 到 5.1.2)
|
||||
- **序列化支持**: 使用serde实现JSON序列化/反序列化
|
||||
|
||||
### ✅ 2. 模板管理系统
|
||||
- **文件加载**: 支持从单个文件或目录批量加载模板
|
||||
- **内存管理**: 高效的模板存储和检索
|
||||
- **数据库接口**: 提供TemplateDatabase trait,支持自定义数据库实现
|
||||
- **导入导出**: JSON格式的模板导入导出功能
|
||||
- **验证和补全**: 自动验证模板完整性并补全缺失字段
|
||||
|
||||
### ✅ 3. FFmpeg命令生成器
|
||||
- **核心滤镜支持**:
|
||||
- `tvai_up` (视频增强)
|
||||
- `tvai_fi` (帧插值)
|
||||
- `tvai_stb` (视频稳定)
|
||||
- `noise` (颗粒效果近似)
|
||||
- **模型映射**: 自动将模板模型映射到FFmpeg滤镜模型
|
||||
- **硬件加速**: 支持NVIDIA、AMD、Intel硬件加速
|
||||
- **批处理**: 支持批量文件处理命令生成
|
||||
- **自定义编码器**: 支持多种编码器和质量设置
|
||||
|
||||
### ✅ 4. 模板验证和补全功能
|
||||
- **结构验证**: 检查模板结构完整性
|
||||
- **参数范围验证**: 验证参数值在合理范围内
|
||||
- **默认值补全**: 自动补全缺失的字段和参数
|
||||
- **错误报告**: 详细的验证错误信息
|
||||
|
||||
### ✅ 5. SDK公共接口
|
||||
- **易用的API**: 简洁直观的公共接口
|
||||
- **构建器模式**: TemplateBuilder用于程序化创建模板
|
||||
- **预设模板**: 内置常用模板预设
|
||||
- **错误处理**: 完善的错误类型和处理机制
|
||||
- **文档完整**: 详细的API文档和示例
|
||||
|
||||
### ✅ 6. 测试和文档
|
||||
- **单元测试**: 覆盖核心功能的单元测试
|
||||
- **集成测试**: 完整的集成测试套件
|
||||
- **示例代码**: 3个详细的使用示例
|
||||
- **文档**: 完整的README和API文档
|
||||
|
||||
## 技术特性
|
||||
|
||||
### 核心架构
|
||||
```
|
||||
TvaiSdk
|
||||
├── TemplateManager (模板管理)
|
||||
├── FfmpegCommandGenerator (命令生成)
|
||||
├── Template (数据模型)
|
||||
├── TemplateBuilder (构建器)
|
||||
└── TemplatePresets (预设)
|
||||
```
|
||||
|
||||
### 支持的模板功能
|
||||
- **视频增强**: 降噪、细节恢复、锐化、压缩伪影减少
|
||||
- **帧插值**: 慢动作、帧率转换、重复帧处理
|
||||
- **视频稳定**: 平滑度控制、全帧/自动裁剪、滚动快门校正
|
||||
- **输出设置**: 分辨率、帧率、像素比例
|
||||
- **颗粒效果**: 颗粒量和大小控制
|
||||
|
||||
### 硬件加速支持
|
||||
- **NVIDIA**: NVENC/NVDEC (H.264, H.265, AV1)
|
||||
- **AMD**: AMF (H.264, H.265)
|
||||
- **Intel**: QSV (H.264, H.265, MJPEG)
|
||||
- **多GPU**: 支持多GPU并行处理
|
||||
|
||||
## 实际测试结果
|
||||
|
||||
### 模板加载测试
|
||||
- ✅ 成功加载8个现有模板文件
|
||||
- ⚠️ 5个模板因结构不完整而跳过(验证功能正常工作)
|
||||
- ✅ 自动验证和补全功能正常
|
||||
|
||||
### FFmpeg命令生成测试
|
||||
```bash
|
||||
# 4K放大示例
|
||||
ffmpeg -i "input.mp4" -vf "tvai_up=model=ahq-12" -s 3840x2160 -c:v libx264 -crf 18 -preset slow "output.mp4"
|
||||
|
||||
# GPU加速示例
|
||||
ffmpeg -i "input.mp4" -vf "tvai_up=device=0:model=ahq-12" -s 3840x2160 -c:v libx264 -crf 18 -preset slow "output.mp4"
|
||||
|
||||
# 复合处理示例
|
||||
ffmpeg -i "input.mp4" -vf "tvai_stb=model=ref-2:smoothness=11:full=1,tvai_up=model=ahq-12:details=0.15:noise=0.25:preblur=-0.05,noise=alls=0.6:allf=t" -s 1920x1080 -c:v libx264 -crf 18 -preset slow "output.mp4"
|
||||
```
|
||||
|
||||
### 性能特性
|
||||
- **内存效率**: 高效的模板存储和检索
|
||||
- **批处理**: 支持大量文件的批处理命令生成
|
||||
- **错误恢复**: 优雅的错误处理和恢复机制
|
||||
|
||||
## 使用场景
|
||||
|
||||
### 1. 应用系统集成
|
||||
```rust
|
||||
// 启动时从数据库加载模板
|
||||
let mut sdk = TvaiSdk::new();
|
||||
sdk.load_templates_from_dir("./templates")?;
|
||||
|
||||
// 运行时生成FFmpeg命令
|
||||
let command = sdk.generate_ffmpeg_command(&template, input, output)?;
|
||||
```
|
||||
|
||||
### 2. 批处理工具
|
||||
```rust
|
||||
// 批量处理视频文件
|
||||
let commands = sdk.generate_batch_commands(&template, &input_files, "./output")?;
|
||||
for command in commands {
|
||||
// 执行FFmpeg命令
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 自定义模板创建
|
||||
```rust
|
||||
// 程序化创建模板
|
||||
let template = TemplateBuilder::new("Custom Template")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(30, 20, 10)
|
||||
.build()?;
|
||||
```
|
||||
|
||||
## 项目优势
|
||||
|
||||
1. **完整性**: 覆盖了从模板管理到命令生成的完整流程
|
||||
2. **易用性**: 简洁的API设计,丰富的预设和示例
|
||||
3. **扩展性**: 支持自定义模型映射和数据库集成
|
||||
4. **可靠性**: 完善的测试覆盖和错误处理
|
||||
5. **性能**: 高效的内存管理和批处理支持
|
||||
6. **兼容性**: 支持多种硬件加速和编码器
|
||||
|
||||
## 后续建议
|
||||
|
||||
1. **模型扩展**: 添加更多AI模型的支持
|
||||
2. **GUI集成**: 可以基于此SDK开发图形界面
|
||||
3. **云服务**: 支持云端模板存储和同步
|
||||
4. **性能优化**: 进一步优化大批量处理性能
|
||||
5. **插件系统**: 支持第三方插件扩展
|
||||
|
||||
## 总结
|
||||
|
||||
本Rust SDK成功实现了Topaz Video AI模板管理和FFmpeg命令生成的完整解决方案。通过模块化设计、完善的测试和详细的文档,为视频处理应用提供了强大而易用的工具。SDK不仅满足了当前需求,还为未来的扩展和优化奠定了坚实基础。
|
||||
136
cargos/tvai-v2/examples/basic_usage.rs
Normal file
136
cargos/tvai-v2/examples/basic_usage.rs
Normal file
@@ -0,0 +1,136 @@
|
||||
use tvai_sdk::*;
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
println!("Topaz Video AI SDK - Basic Usage Example");
|
||||
println!("=========================================");
|
||||
|
||||
// Create a new SDK instance
|
||||
let mut sdk = TvaiSdk::new();
|
||||
|
||||
// Example 1: Create templates using presets
|
||||
println!("\n1. Creating templates using presets:");
|
||||
|
||||
let upscale_template = TemplatePresets::upscale_to_4k()?;
|
||||
println!(" Created: {}", upscale_template.name);
|
||||
|
||||
let fps_template = TemplatePresets::convert_to_60fps()?;
|
||||
println!(" Created: {}", fps_template.name);
|
||||
|
||||
let denoise_template = TemplatePresets::remove_noise()?;
|
||||
println!(" Created: {}", denoise_template.name);
|
||||
|
||||
// Add templates to SDK
|
||||
sdk.add_template(upscale_template.clone())?;
|
||||
sdk.add_template(fps_template.clone())?;
|
||||
sdk.add_template(denoise_template.clone())?;
|
||||
|
||||
println!(" Total templates loaded: {}", sdk.template_count());
|
||||
|
||||
// Example 2: Generate FFmpeg commands
|
||||
println!("\n2. Generating FFmpeg commands:");
|
||||
|
||||
let input_file = "input_video.mp4";
|
||||
let output_file = "output_video.mp4";
|
||||
|
||||
// Basic command generation
|
||||
let command = sdk.generate_ffmpeg_command(&upscale_template, input_file, output_file)?;
|
||||
println!(" Basic upscale command:");
|
||||
println!(" {}", command);
|
||||
|
||||
// Command with GPU acceleration
|
||||
let gpu_command = sdk.generate_ffmpeg_command_with_gpu(&upscale_template, input_file, "output_gpu.mp4", "0")?;
|
||||
println!("\n GPU accelerated command:");
|
||||
println!(" {}", gpu_command);
|
||||
|
||||
// Command with custom codec
|
||||
let nvenc_command = sdk.generate_ffmpeg_command_with_codec(&upscale_template, input_file, "output_nvenc.mp4", "hevc_nvenc", Some(20))?;
|
||||
println!("\n NVENC H.265 command:");
|
||||
println!(" {}", nvenc_command);
|
||||
|
||||
// Example 3: Create custom template using builder
|
||||
println!("\n3. Creating custom template:");
|
||||
|
||||
let custom_template = TemplateBuilder::new("Custom Enhancement")
|
||||
.description("Custom video enhancement with multiple effects")
|
||||
.author("Example User")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(25, 15, 5) // denoise=25, detail=15, sharpen=5
|
||||
.enable_stabilization(70, 1) // smoothness=70, full frame
|
||||
.enable_grain(3, 2) // grain amount=3, size=2
|
||||
.output_settings(6, 0.0) // FHD output, original FPS
|
||||
.build()?;
|
||||
|
||||
println!(" Created custom template: {}", custom_template.name);
|
||||
println!(" Description: {}", custom_template.description);
|
||||
println!(" Enhancement active: {}", custom_template.settings.enhance.active);
|
||||
println!(" Stabilization active: {}", custom_template.settings.stabilize.active);
|
||||
println!(" Grain active: {}", custom_template.settings.grain.active);
|
||||
|
||||
// Generate command for custom template
|
||||
let custom_command = sdk.generate_ffmpeg_command(&custom_template, input_file, "custom_output.mp4")?;
|
||||
println!("\n Custom template command:");
|
||||
println!(" {}", custom_command);
|
||||
|
||||
// Example 4: Batch processing
|
||||
println!("\n4. Batch processing:");
|
||||
|
||||
let input_files = vec![
|
||||
"video1.mp4".to_string(),
|
||||
"video2.mp4".to_string(),
|
||||
"video3.mp4".to_string(),
|
||||
"video4.mp4".to_string(),
|
||||
];
|
||||
|
||||
let batch_commands = sdk.generate_batch_commands(&fps_template, &input_files, "./output")?;
|
||||
println!(" Generated {} batch commands:", batch_commands.len());
|
||||
|
||||
for (i, command) in batch_commands.iter().enumerate() {
|
||||
println!(" Batch {}: {}", i + 1, command);
|
||||
}
|
||||
|
||||
// Example 5: Template validation
|
||||
println!("\n5. Template validation:");
|
||||
|
||||
// Validate template for FFmpeg generation
|
||||
match sdk.validate_template_for_ffmpeg(&upscale_template) {
|
||||
Ok(()) => println!(" Upscale template is valid for FFmpeg generation"),
|
||||
Err(e) => println!(" Validation error: {}", e),
|
||||
}
|
||||
|
||||
// Example 6: Export and import templates
|
||||
println!("\n6. Template export/import:");
|
||||
|
||||
// Export all templates to JSON
|
||||
let json_export = sdk.export_templates_to_json()?;
|
||||
println!(" Exported {} templates to JSON ({} bytes)", sdk.template_count(), json_export.len());
|
||||
|
||||
// Clear templates and import them back
|
||||
sdk.clear_templates();
|
||||
println!(" Cleared all templates. Count: {}", sdk.template_count());
|
||||
|
||||
let imported_count = sdk.import_templates_from_json(&json_export)?;
|
||||
println!(" Imported {} templates from JSON. Count: {}", imported_count, sdk.template_count());
|
||||
|
||||
// Example 7: Template management
|
||||
println!("\n7. Template management:");
|
||||
|
||||
// List all template names
|
||||
let template_names = sdk.get_template_names();
|
||||
println!(" Available templates:");
|
||||
for name in template_names {
|
||||
println!(" - {}", name);
|
||||
}
|
||||
|
||||
// Find specific template
|
||||
if let Some(template) = sdk.find_template("Upscale to 4K") {
|
||||
println!(" Found template: {} (Author: {})", template.name, template.author);
|
||||
}
|
||||
|
||||
// Check if template exists
|
||||
println!(" Has 'Convert to 60 FPS' template: {}", sdk.has_template("Convert to 60 FPS"));
|
||||
println!(" Has 'Non-existent' template: {}", sdk.has_template("Non-existent"));
|
||||
|
||||
println!("\n✅ Basic usage example completed successfully!");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
183
cargos/tvai-v2/examples/ffmpeg_generation.rs
Normal file
183
cargos/tvai-v2/examples/ffmpeg_generation.rs
Normal file
@@ -0,0 +1,183 @@
|
||||
use tvai_sdk::*;
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
println!("Topaz Video AI SDK - FFmpeg Command Generation Example");
|
||||
println!("=====================================================");
|
||||
|
||||
let sdk = TvaiSdk::new();
|
||||
|
||||
// Example 1: Basic FFmpeg command generation
|
||||
println!("\n1. Basic FFmpeg command generation:");
|
||||
|
||||
let upscale_template = TemplatePresets::upscale_to_4k()?;
|
||||
let basic_command = sdk.generate_ffmpeg_command(&upscale_template, "input.mp4", "output_4k.mp4")?;
|
||||
|
||||
println!(" Template: {}", upscale_template.name);
|
||||
println!(" Command: {}", basic_command);
|
||||
|
||||
// Example 2: Hardware acceleration commands
|
||||
println!("\n2. Hardware acceleration commands:");
|
||||
|
||||
// NVIDIA GPU acceleration
|
||||
let nvidia_command = sdk.generate_ffmpeg_command_with_gpu(&upscale_template, "input.mp4", "output_nvidia.mp4", "0")?;
|
||||
println!(" NVIDIA GPU (device 0):");
|
||||
println!(" {}", nvidia_command);
|
||||
|
||||
// Multi-GPU setup
|
||||
let multi_gpu_command = sdk.generate_ffmpeg_command_with_gpu(&upscale_template, "input.mp4", "output_multi_gpu.mp4", "0.1")?;
|
||||
println!("\n Multi-GPU (devices 0 and 1):");
|
||||
println!(" {}", multi_gpu_command);
|
||||
|
||||
// Example 3: Different codec configurations
|
||||
println!("\n3. Different codec configurations:");
|
||||
|
||||
// H.264 with NVENC
|
||||
let h264_nvenc = sdk.generate_ffmpeg_command_with_codec(&upscale_template, "input.mp4", "output_h264_nvenc.mp4", "h264_nvenc", Some(20))?;
|
||||
println!(" H.264 NVENC (CQ 20):");
|
||||
println!(" {}", h264_nvenc);
|
||||
|
||||
// H.265 with NVENC
|
||||
let h265_nvenc = sdk.generate_ffmpeg_command_with_codec(&upscale_template, "input.mp4", "output_h265_nvenc.mp4", "hevc_nvenc", Some(22))?;
|
||||
println!("\n H.265 NVENC (CQ 22):");
|
||||
println!(" {}", h265_nvenc);
|
||||
|
||||
// AMD AMF H.264
|
||||
let h264_amf = sdk.generate_ffmpeg_command_with_codec(&upscale_template, "input.mp4", "output_h264_amf.mp4", "h264_amf", Some(25))?;
|
||||
println!("\n H.264 AMF (QP 25):");
|
||||
println!(" {}", h264_amf);
|
||||
|
||||
// Intel QSV H.264
|
||||
let h264_qsv = sdk.generate_ffmpeg_command_with_codec(&upscale_template, "input.mp4", "output_h264_qsv.mp4", "h264_qsv", Some(23))?;
|
||||
println!("\n H.264 QSV (Global Quality 23):");
|
||||
println!(" {}", h264_qsv);
|
||||
|
||||
// Example 4: Different template types
|
||||
println!("\n4. Commands for different template types:");
|
||||
|
||||
// Frame interpolation
|
||||
let fps_template = TemplatePresets::convert_to_60fps()?;
|
||||
let fps_command = sdk.generate_ffmpeg_command(&fps_template, "input_30fps.mp4", "output_60fps.mp4")?;
|
||||
println!(" Frame interpolation (60 FPS):");
|
||||
println!(" {}", fps_command);
|
||||
|
||||
// Noise removal
|
||||
let denoise_template = TemplatePresets::remove_noise()?;
|
||||
let denoise_command = sdk.generate_ffmpeg_command(&denoise_template, "noisy_input.mp4", "clean_output.mp4")?;
|
||||
println!("\n Noise removal:");
|
||||
println!(" {}", denoise_command);
|
||||
|
||||
// Video stabilization
|
||||
let stabilize_template = TemplatePresets::stabilize_video()?;
|
||||
let stabilize_command = sdk.generate_ffmpeg_command(&stabilize_template, "shaky_input.mp4", "stable_output.mp4")?;
|
||||
println!("\n Video stabilization:");
|
||||
println!(" {}", stabilize_command);
|
||||
|
||||
// Slow motion
|
||||
let slowmo_template = TemplatePresets::slow_motion_4x()?;
|
||||
let slowmo_command = sdk.generate_ffmpeg_command(&slowmo_template, "normal_speed.mp4", "slow_motion.mp4")?;
|
||||
println!("\n 4x Slow motion:");
|
||||
println!(" {}", slowmo_command);
|
||||
|
||||
// Example 5: Complex custom template
|
||||
println!("\n5. Complex custom template:");
|
||||
|
||||
let complex_template = TemplateBuilder::new("Professional Enhancement")
|
||||
.description("Professional video enhancement with multiple effects")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(30, 40, 20) // denoise=30, detail=40, sharpen=20
|
||||
.enable_stabilization(75, 1) // high stabilization, full frame
|
||||
.enable_frame_interpolation("chf-3", 1.0)
|
||||
.output_settings(7, 60.0) // 4K at 60fps
|
||||
.build()?;
|
||||
|
||||
let complex_command = sdk.generate_ffmpeg_command(&complex_template, "input_professional.mp4", "output_professional.mp4")?;
|
||||
println!(" Complex template command:");
|
||||
println!(" {}", complex_command);
|
||||
|
||||
// Example 6: Batch processing commands
|
||||
println!("\n6. Batch processing commands:");
|
||||
|
||||
let input_files = vec![
|
||||
"project/clip1.mp4".to_string(),
|
||||
"project/clip2.mp4".to_string(),
|
||||
"project/clip3.mp4".to_string(),
|
||||
"project/clip4.mp4".to_string(),
|
||||
"project/clip5.mp4".to_string(),
|
||||
];
|
||||
|
||||
let batch_commands = sdk.generate_batch_commands(&upscale_template, &input_files, "project/output")?;
|
||||
|
||||
println!(" Generated {} batch commands:", batch_commands.len());
|
||||
for (i, command) in batch_commands.iter().enumerate() {
|
||||
println!(" Batch {}: {}", i + 1, command);
|
||||
}
|
||||
|
||||
// Example 7: Using FFmpeg command builder for advanced scenarios
|
||||
println!("\n7. Advanced FFmpeg command builder:");
|
||||
|
||||
// Create a custom command with multiple filters
|
||||
let advanced_command = FfmpegCommandBuilder::new("input_advanced.mp4", "output_advanced.mp4")
|
||||
.add_filter("tvai_up=model=ahq-12:scale=2:noise=0.3:details=0.2")
|
||||
.add_filter("tvai_fi=model=chr-2:fps=60")
|
||||
.add_filter("tvai_stb=model=ref-2:smoothness=8")
|
||||
.codec("hevc_nvenc")
|
||||
.quality(18)
|
||||
.hardware_accel("cuda")
|
||||
.custom_param("-preset slow")
|
||||
.custom_param("-profile:v main10")
|
||||
.build();
|
||||
|
||||
println!(" Advanced custom command:");
|
||||
println!(" {}", advanced_command);
|
||||
|
||||
// Create a command for HDR content
|
||||
let hdr_command = FfmpegCommandBuilder::new("input_hdr.mp4", "output_hdr.mp4")
|
||||
.add_filter("tvai_up=model=hyp-1:scale=2:sdr_ip=0.65:hdr_ip_adjust=0.3:saturate=0.8")
|
||||
.codec("hevc_nvenc")
|
||||
.quality(16)
|
||||
.custom_param("-color_primaries bt2020")
|
||||
.custom_param("-color_trc smpte2084")
|
||||
.custom_param("-colorspace bt2020nc")
|
||||
.build();
|
||||
|
||||
println!("\n HDR processing command:");
|
||||
println!(" {}", hdr_command);
|
||||
|
||||
// Example 8: Template validation for FFmpeg
|
||||
println!("\n8. Template validation for FFmpeg generation:");
|
||||
|
||||
let templates_to_validate = vec![
|
||||
TemplatePresets::upscale_to_4k()?,
|
||||
TemplatePresets::convert_to_60fps()?,
|
||||
TemplatePresets::remove_noise()?,
|
||||
TemplatePresets::stabilize_video()?,
|
||||
TemplatePresets::slow_motion_4x()?,
|
||||
];
|
||||
|
||||
for template in &templates_to_validate {
|
||||
match sdk.validate_template_for_ffmpeg(template) {
|
||||
Ok(()) => println!(" ✅ '{}' is valid for FFmpeg generation", template.name),
|
||||
Err(e) => println!(" ❌ '{}' validation failed: {}", template.name, e),
|
||||
}
|
||||
}
|
||||
|
||||
// Example 9: Performance optimization suggestions
|
||||
println!("\n9. Performance optimization suggestions:");
|
||||
|
||||
println!(" For best performance:");
|
||||
println!(" - Use GPU acceleration when available (device=0, device=0.1, etc.)");
|
||||
println!(" - Choose appropriate codec based on your hardware:");
|
||||
println!(" • NVIDIA: h264_nvenc, hevc_nvenc");
|
||||
println!(" • AMD: h264_amf, hevc_amf");
|
||||
println!(" • Intel: h264_qsv, hevc_qsv");
|
||||
println!(" - Adjust quality settings based on content:");
|
||||
println!(" • High quality: CQ/CRF 16-20");
|
||||
println!(" • Balanced: CQ/CRF 20-25");
|
||||
println!(" • Fast encoding: CQ/CRF 25-30");
|
||||
println!(" - Use multiple instances for parallel processing on high-end GPUs");
|
||||
println!(" - Consider VRAM usage with vram parameter (0.5-0.8 for shared systems)");
|
||||
|
||||
println!("\n✅ FFmpeg command generation example completed successfully!");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
212
cargos/tvai-v2/examples/template_management.rs
Normal file
212
cargos/tvai-v2/examples/template_management.rs
Normal file
@@ -0,0 +1,212 @@
|
||||
use tvai_sdk::*;
|
||||
use std::path::Path;
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
println!("Topaz Video AI SDK - Template Management Example");
|
||||
println!("===============================================");
|
||||
|
||||
// Create SDK instance
|
||||
let mut sdk = TvaiSdk::new();
|
||||
|
||||
// Example 1: Load templates from directory
|
||||
println!("\n1. Loading templates from directory:");
|
||||
|
||||
let template_dir = "template"; // Relative to current directory
|
||||
if Path::new(template_dir).exists() {
|
||||
match sdk.load_templates_from_dir(template_dir) {
|
||||
Ok(()) => {
|
||||
println!(" Successfully loaded templates from directory: {}", template_dir);
|
||||
println!(" Total templates loaded: {}", sdk.template_count());
|
||||
|
||||
// List loaded templates
|
||||
let template_names = sdk.get_template_names();
|
||||
for name in template_names {
|
||||
println!(" - {}", name);
|
||||
}
|
||||
},
|
||||
Err(e) => {
|
||||
println!(" Failed to load templates: {}", e);
|
||||
println!(" Creating templates using presets instead...");
|
||||
|
||||
// Create some templates using presets
|
||||
sdk.add_template(TemplatePresets::upscale_to_4k()?)?;
|
||||
sdk.add_template(TemplatePresets::convert_to_60fps()?)?;
|
||||
sdk.add_template(TemplatePresets::remove_noise()?)?;
|
||||
sdk.add_template(TemplatePresets::stabilize_video()?)?;
|
||||
sdk.add_template(TemplatePresets::slow_motion_4x()?)?;
|
||||
|
||||
println!(" Created {} preset templates", sdk.template_count());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
println!(" Template directory '{}' not found, creating preset templates...", template_dir);
|
||||
|
||||
// Create preset templates
|
||||
sdk.add_template(TemplatePresets::upscale_to_4k()?)?;
|
||||
sdk.add_template(TemplatePresets::convert_to_60fps()?)?;
|
||||
sdk.add_template(TemplatePresets::remove_noise()?)?;
|
||||
sdk.add_template(TemplatePresets::stabilize_video()?)?;
|
||||
sdk.add_template(TemplatePresets::slow_motion_4x()?)?;
|
||||
sdk.add_template(TemplatePresets::comprehensive_enhancement()?)?;
|
||||
|
||||
println!(" Created {} preset templates", sdk.template_count());
|
||||
}
|
||||
|
||||
// Example 2: Create and manage custom templates
|
||||
println!("\n2. Creating custom templates:");
|
||||
|
||||
// Create a custom deinterlacing template
|
||||
let deinterlace_template = TemplateBuilder::new("Deinterlace and Enhance")
|
||||
.description("Deinterlace interlaced video and enhance quality")
|
||||
.author("Template Manager")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(20, 30, 15) // moderate denoise, high detail, some sharpen
|
||||
.output_settings(6, 0.0) // FHD output
|
||||
.build()?;
|
||||
|
||||
sdk.add_template(deinterlace_template)?;
|
||||
println!(" Created: Deinterlace and Enhance");
|
||||
|
||||
// Create a film restoration template
|
||||
let film_restore_template = TemplateBuilder::new("Film Restoration")
|
||||
.description("Restore old film footage with comprehensive enhancement")
|
||||
.author("Template Manager")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(40, 50, 20) // high denoise and detail for old film
|
||||
.enable_stabilization(80, 1) // high stabilization for old footage
|
||||
.enable_grain(2, 1) // subtle grain to maintain film look
|
||||
.output_settings(7, 24.0) // 4K output at 24fps
|
||||
.build()?;
|
||||
|
||||
sdk.add_template(film_restore_template)?;
|
||||
println!(" Created: Film Restoration");
|
||||
|
||||
// Create a gaming video template
|
||||
let gaming_template = TemplateBuilder::new("Gaming Video Enhancement")
|
||||
.description("Optimize gaming footage for streaming")
|
||||
.author("Template Manager")
|
||||
.enable_enhancement("prob-4")
|
||||
.enhancement_params(10, 25, 30) // low denoise, good detail, high sharpen
|
||||
.enable_frame_interpolation("chf-3", 1.0)
|
||||
.output_settings(6, 60.0) // FHD at 60fps
|
||||
.build()?;
|
||||
|
||||
sdk.add_template(gaming_template)?;
|
||||
println!(" Created: Gaming Video Enhancement");
|
||||
|
||||
println!(" Total templates after additions: {}", sdk.template_count());
|
||||
|
||||
// Example 3: Template inspection and modification
|
||||
println!("\n3. Template inspection:");
|
||||
|
||||
if let Some(template) = sdk.find_template("Gaming Video Enhancement") {
|
||||
println!(" Template: {}", template.name);
|
||||
println!(" Description: {}", template.description);
|
||||
println!(" Author: {}", template.author);
|
||||
println!(" Version: {}", template.veai_version);
|
||||
println!(" Settings:");
|
||||
println!(" Enhancement active: {}", template.settings.enhance.active);
|
||||
println!(" Enhancement model: {}", template.settings.enhance.model);
|
||||
println!(" Denoise: {}", template.settings.enhance.denoise);
|
||||
println!(" Detail: {}", template.settings.enhance.detail);
|
||||
println!(" Sharpen: {}", template.settings.enhance.sharpen);
|
||||
println!(" Frame interpolation active: {}", template.settings.slow_motion.active);
|
||||
println!(" Output FPS: {}", template.settings.output.out_fps);
|
||||
}
|
||||
|
||||
// Example 4: Template validation
|
||||
println!("\n4. Template validation:");
|
||||
|
||||
let validation_errors = sdk.validate_all_templates();
|
||||
if validation_errors.is_empty() {
|
||||
println!(" ✅ All templates are valid");
|
||||
} else {
|
||||
println!(" ❌ Found validation errors:");
|
||||
for (name, error) in validation_errors {
|
||||
println!(" {}: {}", name, error);
|
||||
}
|
||||
}
|
||||
|
||||
// Example 5: Export templates to files
|
||||
println!("\n5. Exporting templates:");
|
||||
|
||||
// Create output directory
|
||||
let output_dir = "exported_templates";
|
||||
std::fs::create_dir_all(output_dir)?;
|
||||
|
||||
// Save all templates to directory
|
||||
match sdk.save_templates_to_dir(output_dir) {
|
||||
Ok(()) => {
|
||||
println!(" ✅ Successfully exported all templates to: {}", output_dir);
|
||||
|
||||
// List exported files
|
||||
let entries = std::fs::read_dir(output_dir)?;
|
||||
println!(" Exported files:");
|
||||
for entry in entries {
|
||||
let entry = entry?;
|
||||
if entry.path().extension().and_then(|s| s.to_str()) == Some("json") {
|
||||
println!(" - {}", entry.file_name().to_string_lossy());
|
||||
}
|
||||
}
|
||||
},
|
||||
Err(e) => println!(" ❌ Failed to export templates: {}", e),
|
||||
}
|
||||
|
||||
// Example 6: Template removal and cleanup
|
||||
println!("\n6. Template management operations:");
|
||||
|
||||
// Remove a specific template
|
||||
if let Some(removed) = sdk.remove_template("Gaming Video Enhancement") {
|
||||
println!(" Removed template: {}", removed.name);
|
||||
println!(" Remaining templates: {}", sdk.template_count());
|
||||
}
|
||||
|
||||
// Show remaining templates
|
||||
println!(" Current templates:");
|
||||
for name in sdk.get_template_names() {
|
||||
println!(" - {}", name);
|
||||
}
|
||||
|
||||
// Example 7: JSON export/import workflow
|
||||
println!("\n7. JSON export/import workflow:");
|
||||
|
||||
// Export to JSON string
|
||||
let json_data = sdk.export_templates_to_json()?;
|
||||
println!(" Exported {} templates to JSON ({} bytes)", sdk.template_count(), json_data.len());
|
||||
|
||||
// Save JSON to file
|
||||
let json_file = format!("{}/all_templates.json", output_dir);
|
||||
std::fs::write(&json_file, &json_data)?;
|
||||
println!(" Saved JSON to: {}", json_file);
|
||||
|
||||
// Clear all templates
|
||||
let original_count = sdk.template_count();
|
||||
sdk.clear_templates();
|
||||
println!(" Cleared all templates (was: {}, now: {})", original_count, sdk.template_count());
|
||||
|
||||
// Import from JSON file
|
||||
let imported_json = std::fs::read_to_string(&json_file)?;
|
||||
let imported_count = sdk.import_templates_from_json(&imported_json)?;
|
||||
println!(" Imported {} templates from JSON file", imported_count);
|
||||
println!(" Final template count: {}", sdk.template_count());
|
||||
|
||||
// Example 8: Model mappings
|
||||
println!("\n8. Model mappings:");
|
||||
|
||||
let mappings = sdk.get_model_mappings();
|
||||
println!(" Current model mappings:");
|
||||
for (template_model, ffmpeg_model) in mappings {
|
||||
println!(" {} -> {}", template_model, ffmpeg_model);
|
||||
}
|
||||
|
||||
// Add custom model mapping
|
||||
sdk.add_model_mapping("custom-model-1".to_string(), "custom-ffmpeg-1".to_string());
|
||||
println!(" Added custom model mapping: custom-model-1 -> custom-ffmpeg-1");
|
||||
|
||||
println!("\n✅ Template management example completed successfully!");
|
||||
println!(" Final statistics:");
|
||||
println!(" Total templates: {}", sdk.template_count());
|
||||
println!(" Model mappings: {}", sdk.get_model_mappings().len());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/4倍慢动作.json
Normal file
67
cargos/tvai-v2/exported_templates/4倍慢动作.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "4倍慢动作",
|
||||
"description": "对视频素材应用4倍(400%)慢动作效果",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 4.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/8倍超级慢动作.json
Normal file
67
cargos/tvai-v2/exported_templates/8倍超级慢动作.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "8倍超级慢动作",
|
||||
"description": "对视频素材应用8倍(800%)超级慢动作效果",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 8.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "Deinterlace and Enhance",
|
||||
"description": "Deinterlace interlaced video and enhance quality",
|
||||
"author": "Template Manager",
|
||||
"date": "Fri Aug 15 05:34:55 2025 GMT+0000",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 30,
|
||||
"sharpen": 15,
|
||||
"denoise": 20,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off",
|
||||
"isSecondEnhancement": false
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
68
cargos/tvai-v2/exported_templates/Film Restoration.json
Normal file
68
cargos/tvai-v2/exported_templates/Film Restoration.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "Film Restoration",
|
||||
"description": "Restore old film footage with comprehensive enhancement",
|
||||
"author": "Template Manager",
|
||||
"date": "Fri Aug 15 05:34:55 2025 GMT+0000",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": true,
|
||||
"smooth": 80,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 50,
|
||||
"sharpen": 20,
|
||||
"denoise": 40,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off",
|
||||
"isSecondEnhancement": false
|
||||
},
|
||||
"grain": {
|
||||
"active": true,
|
||||
"grain": 2,
|
||||
"grainSize": 1
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 24.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "Gaming Video Enhancement",
|
||||
"description": "Optimize gaming footage for streaming",
|
||||
"author": "Template Manager",
|
||||
"date": "Fri Aug 15 05:34:55 2025 GMT+0000",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 25,
|
||||
"sharpen": 30,
|
||||
"denoise": 10,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off",
|
||||
"isSecondEnhancement": false
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 60.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
674
cargos/tvai-v2/exported_templates/all_templates.json
Normal file
674
cargos/tvai-v2/exported_templates/all_templates.json
Normal file
@@ -0,0 +1,674 @@
|
||||
[
|
||||
{
|
||||
"name": "放大至4K",
|
||||
"description": "将视频分辨率放大至4K分辨率,同时增强画质。",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8倍超级慢动作",
|
||||
"description": "对视频素材应用8倍(800%)超级慢动作效果",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 8.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "转换至60帧",
|
||||
"description": "将视频素材的帧率转换为60fps,同时保持原始分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 60.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "去隔行扫描并放大至全高清",
|
||||
"description": "对视频素材进行去隔行扫描处理并放大至全高清分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "ddv-3",
|
||||
"videoType": 0,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": false,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "放大至4K并转换至60帧",
|
||||
"description": "将视频素材放大至4K分辨率并转换为60fps。",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 60.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Deinterlace and Enhance",
|
||||
"description": "Deinterlace interlaced video and enhance quality",
|
||||
"author": "Template Manager",
|
||||
"date": "Fri Aug 15 05:34:55 2025 GMT+0000",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 30,
|
||||
"sharpen": 15,
|
||||
"denoise": 20,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off",
|
||||
"isSecondEnhancement": false
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Film Restoration",
|
||||
"description": "Restore old film footage with comprehensive enhancement",
|
||||
"author": "Template Manager",
|
||||
"date": "Fri Aug 15 05:34:55 2025 GMT+0000",
|
||||
"veaiversion": "5.1.2",
|
||||
"editable": true,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": true,
|
||||
"smooth": 80,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 50,
|
||||
"sharpen": 20,
|
||||
"denoise": 40,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off",
|
||||
"isSecondEnhancement": false
|
||||
},
|
||||
"grain": {
|
||||
"active": true,
|
||||
"grain": 2,
|
||||
"grainSize": 1
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 24.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "自动裁剪防抖",
|
||||
"description": "对抖动的视频素材应用自动裁剪防抖功能",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": true,
|
||||
"smooth": 50,
|
||||
"method": 0,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4倍慢动作",
|
||||
"description": "对视频素材应用4倍(400%)慢动作效果",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 4.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "放大至全高清",
|
||||
"description": "将视频素材放大至全高清分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
67
cargos/tvai-v2/exported_templates/去隔行扫描并放大至全高清.json
Normal file
67
cargos/tvai-v2/exported_templates/去隔行扫描并放大至全高清.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "去隔行扫描并放大至全高清",
|
||||
"description": "对视频素材进行去隔行扫描处理并放大至全高清分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "ddv-3",
|
||||
"videoType": 0,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": false,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/放大至4K.json
Normal file
67
cargos/tvai-v2/exported_templates/放大至4K.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "放大至4K",
|
||||
"description": "将视频分辨率放大至4K分辨率,同时增强画质。",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/放大至4K并转换至60帧.json
Normal file
67
cargos/tvai-v2/exported_templates/放大至4K并转换至60帧.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "放大至4K并转换至60帧",
|
||||
"description": "将视频素材放大至4K分辨率并转换为60fps。",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 7,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 60.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/放大至全高清.json
Normal file
67
cargos/tvai-v2/exported_templates/放大至全高清.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "放大至全高清",
|
||||
"description": "将视频素材放大至全高清分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": true,
|
||||
"model": "prob-4",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 6,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/自动裁剪防抖.json
Normal file
67
cargos/tvai-v2/exported_templates/自动裁剪防抖.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "自动裁剪防抖",
|
||||
"description": "对抖动的视频素材应用自动裁剪防抖功能",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": true,
|
||||
"smooth": 50,
|
||||
"method": 0,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": false,
|
||||
"model": "apo-8",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 0.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
67
cargos/tvai-v2/exported_templates/转换至60帧.json
Normal file
67
cargos/tvai-v2/exported_templates/转换至60帧.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "转换至60帧",
|
||||
"description": "将视频素材的帧率转换为60fps,同时保持原始分辨率",
|
||||
"author": "Topaz Labs",
|
||||
"date": "Tue Jul 11 12:00:00 2023 GMT-0500",
|
||||
"veaiversion": "3.3.5",
|
||||
"editable": false,
|
||||
"enabled": true,
|
||||
"saveOutputSettings": false,
|
||||
"path": null,
|
||||
"settings": {
|
||||
"stabilize": {
|
||||
"active": false,
|
||||
"smooth": 50,
|
||||
"method": 1,
|
||||
"rsc": false,
|
||||
"reduceMotion": false,
|
||||
"reduceMotionIteration": 2
|
||||
},
|
||||
"motionblur": {
|
||||
"active": false,
|
||||
"model": "thm-2"
|
||||
},
|
||||
"slowmo": {
|
||||
"active": true,
|
||||
"model": "chf-3",
|
||||
"factor": 1.0,
|
||||
"duplicate": true,
|
||||
"duplicateThreshold": 10
|
||||
},
|
||||
"enhance": {
|
||||
"active": false,
|
||||
"model": "prob-3",
|
||||
"videoType": 1,
|
||||
"auto": 0,
|
||||
"fieldOrder": 0,
|
||||
"compress": 0,
|
||||
"detail": 0,
|
||||
"sharpen": 0,
|
||||
"denoise": 0,
|
||||
"dehalo": 0,
|
||||
"deblur": 0,
|
||||
"addNoise": 0,
|
||||
"recoverOriginalDetailValue": 20,
|
||||
"isArtemis": false,
|
||||
"isGaia": false,
|
||||
"isTheia": false,
|
||||
"isProteus": true,
|
||||
"isIris": false,
|
||||
"focusFixLevel": "Off"
|
||||
},
|
||||
"grain": {
|
||||
"active": false,
|
||||
"grain": 5,
|
||||
"grainSize": 2
|
||||
},
|
||||
"output": {
|
||||
"active": true,
|
||||
"outSizeMethod": 0,
|
||||
"cropToFit": false,
|
||||
"outputPAR": 0,
|
||||
"outFPS": 60.0,
|
||||
"customResolutionPriority": 0,
|
||||
"lockAspectRatio": true
|
||||
}
|
||||
}
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA01-g-14-plus.json
Normal file
18
cargos/tvai-v2/models/EVA01-g-14-plus.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva_giant_patch14_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA01-g-14.json
Normal file
18
cargos/tvai-v2/models/EVA01-g-14.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva_giant_patch14_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA02-B-16.json
Normal file
18
cargos/tvai-v2/models/EVA02-B-16.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva02_base_patch16_clip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA02-E-14-plus.json
Normal file
18
cargos/tvai-v2/models/EVA02-E-14-plus.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva02_enormous_patch14_clip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 32
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA02-E-14.json
Normal file
18
cargos/tvai-v2/models/EVA02-E-14.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva02_enormous_patch14_clip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA02-L-14-336.json
Normal file
18
cargos/tvai-v2/models/EVA02-L-14-336.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"timm_model_name": "eva02_large_patch14_clip_336",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
18
cargos/tvai-v2/models/EVA02-L-14.json
Normal file
18
cargos/tvai-v2/models/EVA02-L-14.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "eva02_large_patch14_clip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
21
cargos/tvai-v2/models/MobileCLIP-B.json
Normal file
21
cargos/tvai-v2/models/MobileCLIP-B.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"timm_model_name": "vit_base_mci_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "token",
|
||||
"timm_proj": null,
|
||||
"timm_drop": 0.0,
|
||||
"timm_drop_path": 0.0,
|
||||
"image_size": 224
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12,
|
||||
"no_causal_mask": false
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
21
cargos/tvai-v2/models/MobileCLIP-S1.json
Normal file
21
cargos/tvai-v2/models/MobileCLIP-S1.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"timm_model_name": "fastvit_mci1",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "avg",
|
||||
"timm_proj": null,
|
||||
"timm_drop": 0.0,
|
||||
"timm_drop_path": 0.0,
|
||||
"image_size": 256
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
21
cargos/tvai-v2/models/MobileCLIP-S2.json
Normal file
21
cargos/tvai-v2/models/MobileCLIP-S2.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"timm_model_name": "fastvit_mci2",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "avg",
|
||||
"timm_proj": null,
|
||||
"timm_drop": 0.0,
|
||||
"timm_drop_path": 0.0,
|
||||
"image_size": 256
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true
|
||||
},
|
||||
"custom_text": true
|
||||
}
|
||||
22
cargos/tvai-v2/models/RN101-quickgelu.json
Normal file
22
cargos/tvai-v2/models/RN101-quickgelu.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": [
|
||||
3,
|
||||
4,
|
||||
23,
|
||||
3
|
||||
],
|
||||
"width": 64,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
21
cargos/tvai-v2/models/RN101.json
Normal file
21
cargos/tvai-v2/models/RN101.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": [
|
||||
3,
|
||||
4,
|
||||
23,
|
||||
3
|
||||
],
|
||||
"width": 64,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
22
cargos/tvai-v2/models/RN50-quickgelu.json
Normal file
22
cargos/tvai-v2/models/RN50-quickgelu.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": [
|
||||
3,
|
||||
4,
|
||||
6,
|
||||
3
|
||||
],
|
||||
"width": 64,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
21
cargos/tvai-v2/models/RN50.json
Normal file
21
cargos/tvai-v2/models/RN50.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": [
|
||||
3,
|
||||
4,
|
||||
6,
|
||||
3
|
||||
],
|
||||
"width": 64,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
22
cargos/tvai-v2/models/RN50x16-quickgelu.json
Normal file
22
cargos/tvai-v2/models/RN50x16-quickgelu.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"layers": [
|
||||
6,
|
||||
8,
|
||||
18,
|
||||
8
|
||||
],
|
||||
"width": 96,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
21
cargos/tvai-v2/models/RN50x16.json
Normal file
21
cargos/tvai-v2/models/RN50x16.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"layers": [
|
||||
6,
|
||||
8,
|
||||
18,
|
||||
8
|
||||
],
|
||||
"width": 96,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
22
cargos/tvai-v2/models/RN50x4-quickgelu.json
Normal file
22
cargos/tvai-v2/models/RN50x4-quickgelu.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"embed_dim": 640,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 288,
|
||||
"layers": [
|
||||
4,
|
||||
6,
|
||||
10,
|
||||
6
|
||||
],
|
||||
"width": 80,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 640,
|
||||
"heads": 10,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
21
cargos/tvai-v2/models/RN50x4.json
Normal file
21
cargos/tvai-v2/models/RN50x4.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 640,
|
||||
"vision_cfg": {
|
||||
"image_size": 288,
|
||||
"layers": [
|
||||
4,
|
||||
6,
|
||||
10,
|
||||
6
|
||||
],
|
||||
"width": 80,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 640,
|
||||
"heads": 10,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
22
cargos/tvai-v2/models/RN50x64-quickgelu.json
Normal file
22
cargos/tvai-v2/models/RN50x64-quickgelu.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 448,
|
||||
"layers": [
|
||||
3,
|
||||
15,
|
||||
36,
|
||||
10
|
||||
],
|
||||
"width": 128,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
21
cargos/tvai-v2/models/RN50x64.json
Normal file
21
cargos/tvai-v2/models/RN50x64.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 448,
|
||||
"layers": [
|
||||
3,
|
||||
15,
|
||||
36,
|
||||
10
|
||||
],
|
||||
"width": 128,
|
||||
"patch_size": null
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-256.json
Normal file
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-256.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_base_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-384.json
Normal file
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-384.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_base_patch16_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-512.json
Normal file
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-512.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 512,
|
||||
"timm_model_name": "vit_base_patch16_siglip_512",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-i18n-256.json
Normal file
29
cargos/tvai-v2/models/ViT-B-16-SigLIP-i18n-256.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_base_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 250000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP-i18n-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-B-16-SigLIP.json
Normal file
29
cargos/tvai-v2/models/ViT-B-16-SigLIP.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "vit_base_patch16_siglip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-256.json
Normal file
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-256.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_base_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP2-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-384.json
Normal file
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-384.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_base_patch16_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP2-384",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-512.json
Normal file
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2-512.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 512,
|
||||
"timm_model_name": "vit_base_patch16_siglip_512",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP2-512",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2.json
Normal file
32
cargos/tvai-v2/models/ViT-B-16-SigLIP2.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "vit_base_patch16_siglip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP2",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-16-plus-240.json
Normal file
16
cargos/tvai-v2/models/ViT-B-16-plus-240.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 640,
|
||||
"vision_cfg": {
|
||||
"image_size": 240,
|
||||
"layers": 12,
|
||||
"width": 896,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 640,
|
||||
"heads": 10,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-16-plus.json
Normal file
16
cargos/tvai-v2/models/ViT-B-16-plus.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 640,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 896,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 640,
|
||||
"heads": 10,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-B-16-quickgelu.json
Normal file
17
cargos/tvai-v2/models/ViT-B-16-quickgelu.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 768,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-16.json
Normal file
16
cargos/tvai-v2/models/ViT-B-16.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 768,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-32-256.json
Normal file
16
cargos/tvai-v2/models/ViT-B-32-256.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"layers": 12,
|
||||
"width": 768,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-B-32-SigLIP2-256.json
Normal file
32
cargos/tvai-v2/models/ViT-B-32-SigLIP2-256.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_base_patch32_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-32-SigLIP2-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-32-plus-256.json
Normal file
16
cargos/tvai-v2/models/ViT-B-32-plus-256.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 640,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"layers": 12,
|
||||
"width": 896,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 640,
|
||||
"heads": 10,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-B-32-quickgelu.json
Normal file
17
cargos/tvai-v2/models/ViT-B-32-quickgelu.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 768,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-B-32.json
Normal file
16
cargos/tvai-v2/models/ViT-B-32.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 768,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
18
cargos/tvai-v2/models/ViT-H-14-378-quickgelu.json
Normal file
18
cargos/tvai-v2/models/ViT-H-14-378-quickgelu.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 378,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-H-14-378.json
Normal file
17
cargos/tvai-v2/models/ViT-H-14-378.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 378,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
}
|
||||
}
|
||||
26
cargos/tvai-v2/models/ViT-H-14-CLIPA-336.json
Normal file
26
cargos/tvai-v2/models/ViT-H-14-CLIPA-336.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
26
cargos/tvai-v2/models/ViT-H-14-CLIPA.json
Normal file
26
cargos/tvai-v2/models/ViT-H-14-CLIPA.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
18
cargos/tvai-v2/models/ViT-H-14-quickgelu.json
Normal file
18
cargos/tvai-v2/models/ViT-H-14-quickgelu.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-H-14.json
Normal file
17
cargos/tvai-v2/models/ViT-H-14.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-H-16.json
Normal file
17
cargos/tvai-v2/models/ViT-H-16.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 32,
|
||||
"width": 1280,
|
||||
"head_width": 80,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-L-14-280.json
Normal file
16
cargos/tvai-v2/models/ViT-L-14-280.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 280,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-L-14-336-quickgelu.json
Normal file
17
cargos/tvai-v2/models/ViT-L-14-336-quickgelu.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-L-14-336.json
Normal file
16
cargos/tvai-v2/models/ViT-L-14-336.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
25
cargos/tvai-v2/models/ViT-L-14-CLIPA-336.json
Normal file
25
cargos/tvai-v2/models/ViT-L-14-CLIPA-336.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
25
cargos/tvai-v2/models/ViT-L-14-CLIPA.json
Normal file
25
cargos/tvai-v2/models/ViT-L-14-CLIPA.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-L-14-quickgelu.json
Normal file
17
cargos/tvai-v2/models/ViT-L-14-quickgelu.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-L-14.json
Normal file
16
cargos/tvai-v2/models/ViT-L-14.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-L-16-320.json
Normal file
16
cargos/tvai-v2/models/ViT-L-16-320.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 320,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-L-16-SigLIP-256.json
Normal file
29
cargos/tvai-v2/models/ViT-L-16-SigLIP-256.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_large_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
29
cargos/tvai-v2/models/ViT-L-16-SigLIP-384.json
Normal file
29
cargos/tvai-v2/models/ViT-L-16-SigLIP-384.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_large_patch16_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-256.json
Normal file
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-256.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_large_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-L-16-SigLIP2-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-384.json
Normal file
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-384.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_large_patch16_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-L-16-SigLIP2-384",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-512.json
Normal file
32
cargos/tvai-v2/models/ViT-L-16-SigLIP2-512.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"embed_dim": 1024,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 512,
|
||||
"timm_model_name": "vit_large_patch16_siglip_512",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-L-16-SigLIP2-512",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1024,
|
||||
"heads": 16,
|
||||
"layers": 24,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-L-16.json
Normal file
16
cargos/tvai-v2/models/ViT-L-16.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 768,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 24,
|
||||
"width": 1024,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 768,
|
||||
"heads": 12,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
17
cargos/tvai-v2/models/ViT-M-16-alt.json
Normal file
17
cargos/tvai-v2/models/ViT-M-16-alt.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"embed_dim": 384,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 512,
|
||||
"patch_size": 16,
|
||||
"ls_init_value": 1e-4
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 384,
|
||||
"heads": 6,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-M-16.json
Normal file
16
cargos/tvai-v2/models/ViT-M-16.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 512,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-M-32-alt.json
Normal file
16
cargos/tvai-v2/models/ViT-M-32-alt.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 384,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 512,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 384,
|
||||
"heads": 6,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-M-32.json
Normal file
16
cargos/tvai-v2/models/ViT-M-32.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 512,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 512,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 512,
|
||||
"heads": 8,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-S-16-alt.json
Normal file
16
cargos/tvai-v2/models/ViT-S-16-alt.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 256,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 384,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 256,
|
||||
"heads": 4,
|
||||
"layers": 10
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-S-16.json
Normal file
16
cargos/tvai-v2/models/ViT-S-16.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 384,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 384,
|
||||
"patch_size": 16
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 384,
|
||||
"heads": 6,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-S-32-alt.json
Normal file
16
cargos/tvai-v2/models/ViT-S-32-alt.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 256,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 384,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 256,
|
||||
"heads": 4,
|
||||
"layers": 10
|
||||
}
|
||||
}
|
||||
16
cargos/tvai-v2/models/ViT-S-32.json
Normal file
16
cargos/tvai-v2/models/ViT-S-32.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"embed_dim": 384,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 12,
|
||||
"width": 384,
|
||||
"patch_size": 32
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 384,
|
||||
"heads": 6,
|
||||
"layers": 12
|
||||
}
|
||||
}
|
||||
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-378.json
Normal file
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-378.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 378,
|
||||
"timm_model_name": "vit_so400m_patch14_siglip_378",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-384.json
Normal file
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP-384.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_so400m_patch14_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP.json
Normal file
30
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "vit_so400m_patch14_siglip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 16,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
33
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2-378.json
Normal file
33
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2-378.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 378,
|
||||
"timm_model_name": "vit_so400m_patch14_siglip_378",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-SO400M-14-SigLIP2-378",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
33
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2.json
Normal file
33
cargos/tvai-v2/models/ViT-SO400M-14-SigLIP2.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"timm_model_name": "vit_so400m_patch14_siglip_224",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-SO400M-14-SigLIP2",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
30
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP-i18n-256.json
Normal file
30
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP-i18n-256.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_so400m_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 250000,
|
||||
"hf_tokenizer_name": "timm/ViT-B-16-SigLIP-i18n-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"pool_type": "last",
|
||||
"proj_type": "none",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
}
|
||||
}
|
||||
}
|
||||
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-256.json
Normal file
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-256.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 256,
|
||||
"timm_model_name": "vit_so400m_patch16_siglip_256",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-SO400M-16-SigLIP2-256",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-384.json
Normal file
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-384.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 384,
|
||||
"timm_model_name": "vit_so400m_patch16_siglip_384",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-SO400M-16-SigLIP2-384",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-512.json
Normal file
33
cargos/tvai-v2/models/ViT-SO400M-16-SigLIP2-512.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"embed_dim": 1152,
|
||||
"init_logit_bias": -10,
|
||||
"custom_text": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 512,
|
||||
"timm_model_name": "vit_so400m_patch16_siglip_512",
|
||||
"timm_model_pretrained": false,
|
||||
"timm_pool": "map",
|
||||
"timm_proj": "none"
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 64,
|
||||
"vocab_size": 256000,
|
||||
"hf_tokenizer_name": "timm/ViT-SO400M-16-SigLIP2-512",
|
||||
"tokenizer_kwargs": {
|
||||
"clean": "canonicalize"
|
||||
},
|
||||
"width": 1152,
|
||||
"heads": 16,
|
||||
"layers": 27,
|
||||
"mlp_ratio": 3.7362,
|
||||
"no_causal_mask": true,
|
||||
"proj_bias": true,
|
||||
"pool_type": "last",
|
||||
"norm_kwargs":{
|
||||
"eps": 1e-6
|
||||
},
|
||||
"act_kwargs": {
|
||||
"approximate": "tanh"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
cargos/tvai-v2/models/ViT-bigG-14-CLIPA-336.json
Normal file
27
cargos/tvai-v2/models/ViT-bigG-14-CLIPA-336.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"embed_dim": 1280,
|
||||
"vision_cfg": {
|
||||
"image_size": 336,
|
||||
"layers": 48,
|
||||
"width": 1664,
|
||||
"head_width": 104,
|
||||
"mlp_ratio": 4.9231,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 32,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
27
cargos/tvai-v2/models/ViT-bigG-14-CLIPA.json
Normal file
27
cargos/tvai-v2/models/ViT-bigG-14-CLIPA.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"embed_dim": 1280,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 48,
|
||||
"width": 1664,
|
||||
"head_width": 104,
|
||||
"mlp_ratio": 4.9231,
|
||||
"patch_size": 14,
|
||||
"no_ln_pre": true,
|
||||
"pool_type": "avg",
|
||||
"final_ln_after_pool": true
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 32,
|
||||
"vocab_size": 32000,
|
||||
"hf_tokenizer_name": "bert-base-uncased",
|
||||
"tokenizer_kwargs": {
|
||||
"strip_sep_token": true
|
||||
},
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 32,
|
||||
"pool_type": "last",
|
||||
"no_causal_mask": true
|
||||
}
|
||||
}
|
||||
19
cargos/tvai-v2/models/ViT-bigG-14-quickgelu.json
Normal file
19
cargos/tvai-v2/models/ViT-bigG-14-quickgelu.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"embed_dim": 1280,
|
||||
"quick_gelu": true,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 48,
|
||||
"width": 1664,
|
||||
"head_width": 104,
|
||||
"mlp_ratio": 4.9231,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 32
|
||||
}
|
||||
}
|
||||
18
cargos/tvai-v2/models/ViT-bigG-14.json
Normal file
18
cargos/tvai-v2/models/ViT-bigG-14.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1280,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 48,
|
||||
"width": 1664,
|
||||
"head_width": 104,
|
||||
"mlp_ratio": 4.9231,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 32
|
||||
}
|
||||
}
|
||||
18
cargos/tvai-v2/models/ViT-e-14.json
Normal file
18
cargos/tvai-v2/models/ViT-e-14.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"embed_dim": 1280,
|
||||
"vision_cfg": {
|
||||
"image_size": 224,
|
||||
"layers": 56,
|
||||
"width": 1792,
|
||||
"head_width": 112,
|
||||
"mlp_ratio": 8.5715,
|
||||
"patch_size": 14
|
||||
},
|
||||
"text_cfg": {
|
||||
"context_length": 77,
|
||||
"vocab_size": 49408,
|
||||
"width": 1280,
|
||||
"heads": 20,
|
||||
"layers": 36
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user