ncnn ¶
Classes:
-
NCNN–NCNN Vulkan backend.
NCNN dataclass ¶
NCNN(
*,
device_id: int = 0,
num_streams: int = 1,
fp16: bool | None = True,
fp16_blacklist_ops: Collection[str] | None = None,
output_format: OutputFormat | None = None,
)
Bases: BackendAutoConvertFloat
NCNN Vulkan backend.
Classes:
-
OutputFormat–Output format for the backend plugin.
Methods:
-
autoselect–Try to select the best backend for the current system.
-
get_args–Return backend plugin arguments derived from this configuration.
-
inference–Run inference with this backend.
Attributes:
-
MIGX– -
NCNN– -
NCNN_VK– -
ORT– -
ORT_COREML– -
ORT_CPU– -
ORT_CUDA– -
ORT_DML– -
OV– -
OV_CPU– -
OV_GPU– -
OV_NPU– -
TRT– -
TRT_RTX– -
device_id(int) –Vulkan device index used by NCNN.
-
flexible_output_prop(str) – -
fp16(bool | None) –Enable NCNN FP16 storage/arithmetic where supported.
-
fp16_blacklist_ops(Collection[str] | None) –ONNX node or op names to keep in FP32 during FP16 conversion.
-
num_streams(int) –Number of parallel NCNN inference streams.
-
output_format(OutputFormat | None) –Requested output precision. Defaults to FP16 when
fp16is enabled, otherwise FP32. -
plugin–
fp16 class-attribute instance-attribute ¶
fp16: bool | None = True
Enable NCNN FP16 storage/arithmetic where supported.
fp16_blacklist_ops class-attribute instance-attribute ¶
fp16_blacklist_ops: Collection[str] | None = None
ONNX node or op names to keep in FP32 during FP16 conversion.
num_streams class-attribute instance-attribute ¶
num_streams: int = 1
Number of parallel NCNN inference streams.
output_format class-attribute instance-attribute ¶
output_format: OutputFormat | None = None
Requested output precision. Defaults to FP16 when fp16 is enabled, otherwise FP32.
OutputFormat ¶
autoselect classmethod ¶
Try to select the best backend for the current system.
Parameters:
-
(device_id¶int, default:0) –The GPU device id.
-
(**kwargs¶Any, default:{}) –Additional arguments to pass to the backend.
Returns:
-
Backend–The selected backend.
Source code in vsscale/mlrt/backend/base.py
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | |
get_args ¶
Return backend plugin arguments derived from this configuration.
Source code in vsscale/mlrt/backend/ncnn.py
32 33 34 35 36 37 38 | |
inference ¶
inference(
clips: VideoNode | Sequence[VideoNode],
network_path: str | PathLike[str],
/,
overlap: tuple[int, int],
tilesize: tuple[int, int],
*,
flexible: bool = False,
**kwargs: Any,
) -> VideoNode | list[VideoNode]
Run inference with this backend.
Parameters:
-
(clips¶VideoNode | Sequence[VideoNode]) –Input clip or clips passed to the backend model.
-
(network_path¶str | PathLike[str]) –Path to the model file or backend artifact.
-
(overlap¶tuple[int, int]) –Horizontal and vertical tile overlap in pixels.
-
(tilesize¶tuple[int, int]) –Horizontal and vertical tile size in pixels.
-
(flexible¶bool, default:False) –Return each flexible output plane as a separate clip.
-
(**kwargs¶Any, default:{}) –Additional backend plugin arguments forwarded unchanged.
Returns:
-
VideoNode | list[VideoNode]–A single output clip, or a list of output clips when
flexibleis enabled.
Source code in vsscale/mlrt/backend/base.py
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | |