ONNX 模型库
返回模型

说明文档

Hubert Base ONNX 声音转换模型

这是 Hubert Base 模型的 ONNX 导出版本,针对声音转换进行了微调,兼容现代推理管道。该模型支持在 ONNX 运行时环境中进行快速高效的音频处理。

它基于以下模型构建:


特性

  • 将音频特征转换为高质量嵌入向量,用于声音转换任务。
  • 完全兼容 ONNX,支持在 CPU 和 GPU 上优化推理。
  • 轻量且易于集成到自定义语音处理管道中。
  • 无需额外依赖,仅需 numpyonnxruntime

ONNX 模型报告

模型: hubert_base.onnx
生产者: pytorch 2.0.0
IR 版本: 8
算子集: ai.onnx:18
参数量: 94,370,816


🟦 输入

  • source | 类型:float32 | 形状:[batch_size, sequence_length]
    • 波形 PCM 32 - 采样率 16,000 - 单声道
  • padding_mask | 类型:bool | 形状:[batch_size, sequence_length]
    • 通常是一个全为 False 的数组,形状与波形相同。padding_mask = np.zeros(waveform.shape, dtype=np.bool_)

🟩 输出

  • features | 类型:float32 | 形状:[batch_size, sequence_length, 768 ]

使用方法

import numpy as np
import onnxruntime as ort

class OnnxHubert:
    \"\"\"
    用于加载和运行 Hubert 导出的 ONNX 模型的类。
    
    属性:
        session (ort.InferenceSession): ONNX Runtime 会话。
        input_name (str): 输入节点的名称。
        output_name (str): 输出节点的名称。
    
    方法:
        extract_features_batch (source, padding_mask): 运行 ONNX 模型并从批次中提取特征。
        extract_features (source, padding_mask): 运行 ONNX 模型并从单个输入中提取特征。
    \"\"\"
    def __init__(self, model_path: str, thread_num: int = None):
        \"\"\"
        初始化 OnnxHubert 对象。

        参数:
            model_path (str): ONNX 模型文件的路径。
            thread_num (int, 可选): 用于推理的线程数。默认为 None。

        属性:
            session (ort.InferenceSession): ONNX Runtime 会话。
            input_name (str): 输入节点的名称。
            output_name (str): 输出节点的名称。
        \"\"\"
        self.session = ort.InferenceSession(model_path)
        
        self.input_name = self.session.get_inputs()[0].name
        self.output_name = self.session.get_outputs()[0].name
    def extract_features(
        self, 
        source: np.ndarray, 
        padding_mask: np.ndarray
    ) -> np.ndarray:
        \"\"\"
        使用 ONNX 模型从批次中提取特征。

        输入:
            source: 形状为 (batch_size, sequence_length) 的 float32 ndarray
            padding_mask: 形状为 (batch_size, sequence_length) 的 bool ndarray

        返回:
            形状为 (D, 768) 的 ndarray,包含提取的特征
        \"\"\"
        result = self.session.run(None, {
            \"source\": source,
            \"padding_mask\": padding_mask
        })
        return result[0]

安装

您可以通过以下命令安装所需的库:

pip install onnxruntime numpy

MidFord327/Hubert-Base-ONNX

作者 MidFord327

feature-extraction fairseq
↓ 0 ♥ 0

创建时间: 2025-09-16 20:51:09+00:00

更新时间: 2025-09-16 21:43:30+00:00

在 Hugging Face 上查看

文件 (3)

.gitattributes
README.md
hubert_base.onnx ONNX