From c520b60cd6129f727e4eb51b18f1e2ccf54d570e Mon Sep 17 00:00:00 2001 From: Muhammad Haroon Date: Tue, 17 Feb 2026 22:59:55 +0500 Subject: [PATCH] fix bf16 conversion for LTX video models --- optimum/exporters/openvino/convert.py | 18 +++++++++++++++++- optimum/exporters/openvino/utils.py | 2 ++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/optimum/exporters/openvino/convert.py b/optimum/exporters/openvino/convert.py index eda3c7e01b..28967e8b8c 100644 --- a/optimum/exporters/openvino/convert.py +++ b/optimum/exporters/openvino/convert.py @@ -128,7 +128,23 @@ def _save_model( library_name: Optional[str] = None, config: "OnnxConfig" = None, ): - compress_to_fp16 = ov_config is not None and ov_config.dtype == "fp16" + compress_to_fp16 = False + + if ov_config is not None: + if ov_config.dtype == "fp16": + compress_to_fp16 = True + elif ov_config.dtype == "bf16": + model.set_rt_info("bf16", ["runtime_options", "INFERENCE_PRECISION_HINT"]) + + from openvino.runtime.passes import Manager, ConvertPrecision + from openvino.runtime import Type + + manager = Manager() + manager.register_pass( + ConvertPrecision(Type.f32, Type.bf16) + ) + manager.run_passes(model) + model = _add_version_info_to_model(model, library_name) runtime_options = config.runtime_options if hasattr(config, "runtime_options") else {} diff --git a/optimum/exporters/openvino/utils.py b/optimum/exporters/openvino/utils.py index 3d9a854e39..2251440277 100644 --- a/optimum/exporters/openvino/utils.py +++ b/optimum/exporters/openvino/utils.py @@ -406,6 +406,8 @@ def deduce_diffusers_dtype(model_name_or_path, **loading_kwargs): else: # filter out variant files safetensors_files = [filename for filename in directory.glob(pattern) if len(filename.suffixes) == 1] + if not safetensors_files: + safetensors_files = list(directory.glob(pattern)) safetensors_file = None if len(safetensors_files) > 0: safetensors_file = safetensors_files.pop(0)