Skip to main content

VapourSynth-MLRT-ORT

This package contains the ONNX Runtime backend implementation of the vs-mlrt plugin.

Installation

To install the standard CPU/DirectML/CoreML package:

pip install vapoursynth-mlrt-ort

To install the CUDA-enabled package:

pip install "vapoursynth-mlrt-ort[cuda]"

Building from source

Requirements

  • C++ Compiler: C++20 compatible (e.g. MSVC 2019+, GCC, Clang)
  • Dependencies:
    • onnxruntime (ONNX Runtime SDK)
    • ONNX
    • Protobuf
  • Backend Dependencies:
    • DirectML (Windows): Requires DirectML SDK. Define the DML_DIR environment/CMake variable to point to the SDK directory.
    • CUDA (Windows and Linux): Requires CUDAToolkit and cuDNN SDKs. Ensure CUDA_PATH, CUDNN_PATH / CUDNN_HOME are set correctly.

Compilation

The package builds with CUDA support on Windows and Linux, CoreML on macOS, and DirectML on Windows:

uv build --package vapoursynth-mlrt-ort

Detailed parameter information from the parent project follows.


VapourSynth ONNX Runtime

The vs-onnxruntime plugin provides optimized CPU & CUDA runtime for some popular AI filters.

Building and Installation

To build, you will need ONNX Runtime, protobuf, ONNX and their dependencies.

Please refer to ONNX Runtime Docs for installation notes. Or, you can use our prebuilt Windows binary releases from AmusementClub.

Please refer to our github actions workflow for sample building instructions.

If you only use the CPU backend, then you just need to extract binary release into your vapoursynth/plugins directory.

However, if you also use the CUDA backend, you will need to download some CUDA libraries as well, please see the release page for details. Those CUDA libraries also need to be extracted into VS vapoursynth/plugins directory. The plugin will try to load them from vapoursynth/plugins/vsort/ directory or vapoursynth/plugins/vsmlrt-cuda/ directory.

Usage

Prototype: core.ort.Model(clip[] clips, string network_path[, int[] overlap = None, int[] tilesize = None, string provider = "", int device_id = 0, int verbosity = 2, bint cudnn_benchmark = True, bint builtin = False, string builtindir="models", bint fp16 = False, bint path_is_serialization = False, bint use_cuda_graph = False])

Arguments:

  • clip[] clips: the input clips, only 32-bit floating point RGB or GRAY clips are supported. For model specific input requirements, please consult our wiki.
  • string network_path: the path to the network in ONNX format.
  • int[] overlap: some networks (e.g. CNN) support arbitrary input shape where other networks might only support fixed input shape and the input clip must be processed in tiles. The overlap argument specifies the overlapping (horizontal and vertical, or both, in pixels) between adjacent tiles to minimize boundary issues. Please refer to network specific docs on the recommended overlapping size.
  • int[] tilesize: Even for CNN where arbitrary input sizes could be supported, sometimes the network does not work well for the entire range of input dimensions, and you have to limit the size of each tile. This parameter specify the tile size (horizontal and vertical, or both, including the overlapping). Please refer to network specific docs on the recommended tile size.
  • string provider: Specifies the device to run the inference on.
    • "CPU" or "": pure CPU backend
    • "CUDA": CUDA GPU backend, requires Nvidia Maxwell+ GPUs.
    • "DML": DirectML backend
    • "COREML": CoreML backend
  • int device_id: select the GPU device for the CUDA backend.'
  • int verbosity: specify the verbosity of logging, the default is warning.
    • 0: fatal error only, ORT_LOGGING_LEVEL_FATAL
    • 1: also errors, ORT_LOGGING_LEVEL_ERROR
    • 2: also warnings, ORT_LOGGING_LEVEL_WARNING
    • 3: also info, ORT_LOGGING_LEVEL_INFO
    • 4: everything, ORT_LOGGING_LEVEL_VERBOSE
  • bint cudnn_benchmark: whether to let cuDNN use benchmarking to search for the best convolution kernel to use. Default True. It might incur some startup latency.
  • bint builtin: whether to load the model from the VS plugins directory, see also builtindir.
  • string builtindir: the model directory under VS plugins directory for builtin models, default "models".
  • bint fp16: whether to quantize model to fp16 for faster and memory efficient computation.
  • bint path_is_serialization: whether the network_path argument specifies an onnx serialization of type bytes.
  • bint use_cuda_graph: whether to use CUDA Graphs to improve performance and reduce CPU overhead in CUDA backend. Not all models are supported.
  • int ml_program: select CoreML provider.
    • 0: NeuralNetwork
    • 1: MLProgram

When overlap and tilesize are not specified, the filter will internally try to resize the network to fit the input clips. This might not always work (for example, the network might require the width to be divisible by 8), and the filter will error out in this case.

The general rule is to either:

  1. left out overlap, tilesize at all and just process the input frame in one tile, or
  2. set all three so that the frame is processed in tilesize[0] x tilesize[1] tiles, and adjacent tiles will have an overlap of overlap[0] x overlap[1] pixels on each direction. The overlapped region will be throw out so that only internal output pixels are used.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vapoursynth_mlrt_ort-16.2.tar.gz (676.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vapoursynth_mlrt_ort-16.2-py3-none-win_amd64.whl (16.3 MB view details)

Uploaded Python 3Windows x86-64

vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.4 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_x86_64.whl (11.7 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_arm64.whl (9.7 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file vapoursynth_mlrt_ort-16.2.tar.gz.

File metadata

  • Download URL: vapoursynth_mlrt_ort-16.2.tar.gz
  • Upload date:
  • Size: 676.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vapoursynth_mlrt_ort-16.2.tar.gz
Algorithm Hash digest
SHA256 7bf1917dfe58399341a33e04f7de073d63eb76bcb73a57caa2023823fb8518de
MD5 5a72155213f1dee95a44c094e45a131c
BLAKE2b-256 3d6653e695c0234f10ef1354e98949355eb37982aa6d5f3449b182f3737fefbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2.tar.gz:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mlrt_ort-16.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ort-16.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 630524103be4c4d9310134507e625f0588a0c383e4a8838ea281a2dd6f3f7993
MD5 e4617f32267a89943297606536911eef
BLAKE2b-256 7a69ed538ca71da6c2dff8c455bcdeaafd8fab352a54024c47138ac5f27c5bf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2-py3-none-win_amd64.whl:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d3321f68893d2d1faaae8cf363149cb5545b86781915e5275cc66b65e2cbdd7
MD5 50424be5dec55fcab9eeb2e28f32c702
BLAKE2b-256 86a1152eaaff2dd065573cd2f6cfe80efea3f7f5bce7d3a1291f0ff97c2072aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5bd09883b2345b25c7cdbddb11c3858ef0f3d711157742360d3ea5fb6be1e1d5
MD5 6bf1cd334c03649fe57a2f32d290897f
BLAKE2b-256 bc97575dc12e14cd3ef8b27cc54e560bd188e3992cf8649ffab94e89c1cf59d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b75b26d6bd7fbcab84dbb2df96c51acccd87ec3b1c2be501e5a0dff3faebe11a
MD5 d470e90fab37b7a72e58f758da3c12c4
BLAKE2b-256 47f21aef3f6b7cf204754a529dacdb0c096b3fde9d70b55a460143712fdad2ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_x86_64.whl:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ebc0838b26b06a9ca53671e86e8af1faf66735bdb09ca9ffcbbe6ba4619c348d
MD5 0bd8bca3e870a942ec7c7c8010c447f1
BLAKE2b-256 b0348c2886d79652812497f0505932db2718cd9039dbd666f7b98edfea1a7206

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mlrt_ort-16.2-py3-none-macosx_15_0_arm64.whl:

Publisher: cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

16.2 This release

6 files

16.1

6 files

16.0

6 files

15.16

6 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page