# YOLO 工件检测权重 > **改这个目录之前先读 [`../README.md`](../README.md)**(权重模块的规则)。 ## 放什么 同名的 `.pt` / `.onnx` / `.engine` / `.labels.yaml` 放一起,名字主干必须一致: ``` detect_best_0.onnx ← 写进 config/site.yaml 的那个 detect_best_0.engine ← TensorRT 引擎,backend: tensorrt 时自动使用 detect_best_0.labels.yaml ← 类别标签(进 git,可手改) ``` 二进制不进 git;`.labels.yaml` 进 git。 ## 加新模型 ```bash cp ~/下载/xxx.pt ~/ros2/models/staging/ bash ~/ros2/scripts/weights.sh convert staging/xxx.pt --name workpiece --group yolo ``` 然后改 `config/site.yaml`: ```yaml paths: yolo_weights: "/home/USER/ros2/models/yolo/workpiece.onnx" yolo: backend: "tensorrt" imgsz: 640 # 必须等于该模型输入尺寸 ``` ## 查看 / 修改标签 ```bash bash ~/ros2/scripts/weights.sh labels detect_best_0 bash ~/ros2/scripts/weights.sh labels detect_best_0 --set "工件,通止规" ``` ## 排错 ```bash bash ~/ros2/scripts/weights.sh doctor --check-engines ``` `engine` 和 TensorRT 版本绑死:换过 TensorRT 后旧 engine 会加载失败,重导即可 (`convert <同名>.onnx --name <名字> --to engine --force`)。 ## 历史遗留 `active.pt` 是个指向 `detect_hc90.pt` 的符号链接,早期用来"切换当前模型", 现在没有任何节点会读它 —— 换模型请改 `config/site.yaml` 的 `paths.yolo_weights`。 留着只是不想动别人的文件,可以安全删除。