初始化项目,由ModelHub XC社区提供模型
Model: ayh015/myLightningOPD Source: Original Platform
This commit is contained in:
37
slime/utils/processing_utils.py
Normal file
37
slime/utils/processing_utils.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import base64
|
||||
import io
|
||||
import logging
|
||||
|
||||
from transformers import AutoProcessor, AutoTokenizer, PreTrainedTokenizerBase, ProcessorMixin
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def load_tokenizer(name_or_path: str, **kwargs):
|
||||
return AutoTokenizer.from_pretrained(name_or_path, **kwargs)
|
||||
|
||||
|
||||
def load_processor(name_or_path: str, **kwargs):
|
||||
try:
|
||||
proc = AutoProcessor.from_pretrained(name_or_path, **kwargs)
|
||||
except (OSError, ValueError) as e:
|
||||
logger.warning(f"Failed to load processor from {name_or_path}: {e}")
|
||||
proc = None
|
||||
|
||||
# If HF returned a tokenizer, discard it.
|
||||
if isinstance(proc, PreTrainedTokenizerBase) or not isinstance(proc, ProcessorMixin):
|
||||
proc = None
|
||||
|
||||
return proc
|
||||
|
||||
|
||||
def encode_image_for_rollout_engine(image) -> str:
|
||||
"""Load an image from path, ensure RGB, encode as PNG base64 string."""
|
||||
buffer = io.BytesIO()
|
||||
if image.mode != "RGB":
|
||||
image = image.convert("RGB")
|
||||
image.save(buffer, format="PNG")
|
||||
return base64.b64encode(buffer.getvalue()).decode("utf-8")
|
||||
Reference in New Issue
Block a user