跳转至

Config模块

Config模块集中管理 ONNX Runtime (ORT) 配置,使 WASM 路径保持灵活且永不硬编码。它提供了简单的 API 来配置 ORT WASM 文件位置,并确保即使在 ORT 异步加载时也能应用配置。

概览

  • 配置 ONNX Runtime WASM 位置 – 设置单个或多个回退路径
  • 初始化 ORT 环境 – 在加载 ONNX 模型之前应用配置
  • 延迟配置 – 当 ORT 异步加载时自动应用配置
  • 默认路径 – 为开发环境提供合理的默认值

快速开始

import { 
  initOrtEnvironment, 
  setOrtWasmPaths, 
  getDefaultOrtWasmPaths 
} from 'src/config';

// 选项 1: 使用默认路径
const wasmPaths = getDefaultOrtWasmPaths(); // '/src/ort/'
initOrtEnvironment(wasmPaths);

// 选项 2: 配置自定义路径
setOrtWasmPaths('/custom/ort/path/');
initOrtEnvironment();

// 选项 3: 多个回退路径
setOrtWasmPaths([
  'https://cdn.example.com/ort/',
  '/local/cache/ort/',
  '/src/ort/'  // 回退路径
]);
initOrtEnvironment();

何时使用

  • 自定义 ONNX Runtime WASM 文件位置(CDN、本地镜像等)
  • 确保 ORT 在开发和生产环境中都能使用正确的路径加载
  • 处理异步 ORT 加载 – 当 ORT 可用时自动应用配置
  • 与 App 模块集成 – 在 App.init() 期间、WebGPU 初始化之前自动调用

与 App 模块集成

Config模块在初始化期间由 App 模块自动使用:

// 在 App.init() 中
const wasmPaths = getDefaultOrtWasmPaths();
initOrtEnvironment(wasmPaths);
console.log(`[App] 使用路径初始化 ORT 环境: ${wasmPaths}`);

这确保 ORT 在以下操作之前得到正确配置: - WebGPU 初始化(可能与 ORT 共享设备) - ONNX 模型加载 - 动态点云推理

主要特性

  • 灵活的路径配置 – 单个字符串或回退路径数组
  • 自动延迟应用 – 如果尚未加载,则轮询 ORT 可用性
  • 非阻塞 – 使用 setTimeout 轮询(50ms 间隔)避免阻塞主线程
  • 默认路径 – 为开发环境提供 /src/ort/ 作为默认值
  • 配置状态检查isOrtConfigured() 验证 ORT 是否就绪

相关文档

  • Architecture – ORT 初始化和延迟配置的序列图。
  • API Reference – 配置辅助函数的逐函数说明。
  • App 模块 – 展示在启动期间何处调用 initOrtEnvironment
  • ONNX 模块 – 解释 ORT 配置如何影响 WebGPU 推理。