Files
hair/OFFLINE_ASSETS.md
T
xsl 2e789d4efa docs: 架构拆分为外网网关+高性能worker(GPU)
- 新增 系统架构-网关与高性能后端.md: 网关薄代理(健康检查/空闲派发/鉴权/
  base64落盘改URL/无后端→1007) + worker(GPU跑完整app)职责划分、配置文件、
  鉴权(共享密码可轮换)、标注图base64流程、部署、安全注意
- 关键约束: 接口文档不变; 每worker并发=1, 总并发=健康worker数; 多worker可配置
- 技术方案: 加运行位置横幅; torch改GPU(CUDA); handler返回annotated_image_base64
- 任务书v1.4: 标注差异说明; 阶段八返base64+鉴权中间件; 阶段十worker(GPU)部署;
  新增§16网关工作流; DoD拆分worker侧/网关侧
- OFFLINE_ASSETS: 区分worker(GPU torch)与网关(轻量)依赖
2026-06-14 13:55:45 +08:00

3.7 KiB
Raw Blame History

离线资产清单(内网部署用)

开发/部署机在内网无法联网,以下模型权重与字体已预先下载放在仓库对应目录。 这些文件不进 git(见 .gitignore),通过文件拷贝(U盘/内网共享)随项目一起带到内网机即可。

拷贝到内网机后,用本文件末尾的 sha256 校验完整性,确认未损坏。

文件清单

文件 路径 大小 用途
BiSeNet 主权重 face_analysis/weights/79999_iter.pth 53,289,463 B (~53MB) 人脸解析分割(方案 B,取真实发际线/头顶)
resnet18 骨干 face_analysis/weights/resnet18-5c106cde.pth 46,827,520 B (~45MB) BiSeNet 的骨干网络,内网必需(见下)
中文字体 face_analysis/fonts/NotoSansCJKsc-Regular.otf 16,437,364 B (~16MB) 标注图中文渲染(= 思源黑体,同一套字体)

sha256 校验

468e13ca13a9b43cc0881a9f99083a430e9c0a38abd935431d1c28ee94b26567  face_analysis/weights/79999_iter.pth
5c106cde386e87d4033832f2996f5493238eda96ccf559d1d62760c4de0613f8  face_analysis/weights/resnet18-5c106cde.pth
2c76254f6fc379fddfce0a7e84fb5385bb135d3e399294f6eeb6680d0365b74b  face_analysis/fonts/NotoSansCJKsc-Regular.otf

校验命令:

# Linux/macOS
sha256sum -c <<'EOF'
468e13ca13a9b43cc0881a9f99083a430e9c0a38abd935431d1c28ee94b26567  face_analysis/weights/79999_iter.pth
5c106cde386e87d4033832f2996f5493238eda96ccf559d1d62760c4de0613f8  face_analysis/weights/resnet18-5c106cde.pth
2c76254f6fc379fddfce0a7e84fb5385bb135d3e399294f6eeb6680d0365b74b  face_analysis/fonts/NotoSansCJKsc-Regular.otf
EOF
# Windows PowerShell
Get-FileHash face_analysis\weights\79999_iter.pth -Algorithm SHA256

resnet18 文件名内嵌的 5c106cde 即其官方 sha256 前 8 位(torchvision 命名惯例),与上表一致 = 官方权重无误。

⚠️ resnet18 骨干的离线处理(重要)

BiSeNet 初始化时会调用 torch.utils.model_zoo / torchvision 联网下载 resnet18 骨干,内网会失败报错。两种解法任选其一:

  1. 放进 torch 缓存目录(推荐,零改代码):
    mkdir -p ~/.cache/torch/hub/checkpoints/
    cp face_analysis/weights/resnet18-5c106cde.pth ~/.cache/torch/hub/checkpoints/
    
    Windows 路径:%USERPROFILE%\.cache\torch\hub\checkpoints\
  2. 改 BiSeNet 代码,把骨干加载改成从 face_analysis/weights/resnet18-5c106cde.pth 本地读取(load_state_dict(torch.load(本地路径)),并去掉联网下载分支)。

下载来源(联网环境重建用)

79999_iter.pth            https://huggingface.co/ManyOtherFunctions/face-parse-bisent/resolve/main/79999_iter.pth
resnet18-5c106cde.pth     https://download.pytorch.org/models/resnet18-5c106cde.pth
NotoSansCJKsc-Regular.otf https://github.com/notofonts/noto-cjk/raw/main/Sans/OTF/SimplifiedChinese/NotoSansCJKsc-Regular.otf

还差什么(pip 依赖)

模型已就位,但内网机还需要 Python 依赖的离线 wheel 包,否则 pip install 在内网无法联网安装。这部分与目标机的操作系统、Python 版本、CUDA 版本强相关,需确认后单独打包:

  • workerGPU 机)mediapipe / opencv-python / numpy<2 / Pillow / torch+torchvision 的 CUDA 版(按 GPU 的 CUDA 版本选 cu118/cu121 等)+ FastAPI/uvicorn 全家桶。
  • 网关机:很轻,只需 FastAPI/uvicorn/httpx 等代理依赖,不需要 torch/mediapipe

架构已拆分(见 docs/系统架构-网关与高性能后端.md):算法依赖只装在 worker,网关保持轻量。


创建日期:2026-06-14 | 配套:技术方案 v2.0 / 任务书 v1.3