推理内核从哪来

构建期拉一份打进安装包,运行期先探测系统里有没有,两条路汇到同一句 spawn

推理内核从哪来 构建期拉一份打进安装包,运行期先探测系统里有没有,两条路汇到同一句 spawn 01 / 来源 02 / 落地 03 / 运行期定位 04 / 执行 CI 取内核 · 构建前拉 Release 压缩包 · 01 / 来源 · macOS arm64 / Windows x64 CI 取内核 构建前拉 Release 压缩包 macOS arm64 / Windows x64 用户自己装 · pip 装 Final2x-core · 01 / 来源 · Linux 唯一的路 用户自己装 pip 装 Final2x-core Linux 唯一的路 打进安装包 · 落在 asar 同级目录 · 02 / 落地 · 随应用装机 打进安装包 落在 asar 同级目录 随应用装机 系统命令 · 命令名可直接调用 · 02 / 落地 · 需要 PyTorch 2.0+ 系统命令 命令名可直接调用 需要 PyTorch 2.0+ 探测 · 跑一次 -h,只看退出码 · 03 / 运行期定位 · 三段式定位 探测 跑一次 -h,只看退出码 三段式定位 起子进程 · -b 加 base64 配置 · 04 / 执行 · 上层无感 起子进程 -b 加 base64 配置 上层无感 构建期下载 只有两个平台 装进 PATH 版本由用户负责 优先这条 退出码为零 兜底这条 探测没通过 定下一个路径 两条路同一个出口 Legend primary data data store data flow

三段式定位

  • • 先看系统里有没有:跑一次 -h,退出码为零就认
  • • 认不到才回退到安装包里带的那份
  • • 两条路最后汇到同一句 spawn,调用方完全不用分辨

Linux 为什么没得选

  • • PyTorch 加上模型权重,体积大到不适合塞进安装包
  • • 所以 Linux 的发行物名字里直接写着 pip,装之前得自己备好 Python 和 PyTorch
  • • 换来的好处是这部分用户拿到的内核总是最新的

矩阵上的缺口

  • • 下载表里只有 macOS arm64 和 Windows x64 两个条目
  • • Intel Mac 那条分支查不到地址,会落到无效平台,发布矩阵里也确实没有它
  • • Windows arm64 拿到的是 x64 内核,靠系统转译跑