worker 侧从 Mock 替换为真实算法: - face_analysis 包:detector(MediaPipe 478点) / pose(solvePnP 姿态) / calibration(虹膜直径法) / hair_segmenter+bisenet_model(方案B 头发分割) / measure(方案A兜底+B/A决策+七眼+换算) / annotation(numpy渐变线+中文标注) - app.py:/api/v1/face/measure 接真实实现,返回 annotated_image_base64 (不落盘不拼URL,落盘由网关做);加 X-Internal-Token 鉴权、/health 就绪态、 可配置分辨率门槛、异常兜底 - 部署:start.sh/run_worker.sh/hair-worker.service 监听 8187;worker_config 示例 - 测试 tests/:Tier1合成真值<1e-6 + Tier2缩放不变 + Tier3叠加 + 错误码集成 + 数值回归,pytest 24 项全绿 - 文档补实测基线表 + RTX5090/torch 说明 注:worker 为 RTX 5090(sm_120),pinned torch 2.2.2(cu121) 只到 sm_90, BiSeNet 已自动回退 CPU(方案B 正常);要用 GPU 需换 torch cu128(≥2.7)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
542 B
Desktop File
20 lines
542 B
Desktop File
[Unit]
|
|
Description=Hair Worker (GPU) - 四庭七眼测量 接口1
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=xsl
|
|
WorkingDirectory=/home/xsl/hair
|
|
# 鉴权密码:优先 worker_config.json;也可在此用环境变量覆盖
|
|
# Environment=WORKER_ACCEPT_PASSWORDS=your-strong-secret
|
|
# 分辨率门槛(可选,默认 600/800)
|
|
# Environment=MIN_SHORT_SIDE=600
|
|
# Environment=MIN_LONG_SIDE=800
|
|
ExecStart=/home/xsl/hair/venv/bin/uvicorn app:app --host 0.0.0.0 --port 8187
|
|
Restart=always
|
|
RestartSec=3
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|