InferPool
同模型推理池:同一模型的 1..8 个会话 + 有界队列。每张图仍走 darra_session_infer_image,不是第二套推理核。不可 Clone;Drop → darra_pool_close(等在飞推理结束)。Send + Sync。crate 根再导出:use darra_ai::{InferPool, InferPoolOptions, InferOverflow, set_gpu_slots}。
max_workers 硬顶 8。GPU 上 yolov8n 建议 1–2。一块 GPU 不要按图片数开会话。100 张突发 = 队列,不是 100 份权重。
提示
快速开始
use darra_ai::{ImageDesc, InferOverflow, InferPool, InferPoolOptions};
let opts = InferPoolOptions::new()
.max_workers(2)
.queue_capacity(100)
.overflow(InferOverflow::Fail);
let pool = InferPool::open("model.darmodel", None, Some(&opts))?;
let ticket = pool.submit(&jpeg, &ImageDesc::auto())?;
let json = pool.wait(ticket)?;
open 不收激活码。未激活走 InferPool::activate。submit / wait 永不收码。