86 lines
1.9 KiB
Bash
86 lines
1.9 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# ==========================
|
|
# 固定配置
|
|
# ==========================
|
|
|
|
# cfg/wts 总输出根目录(和 yolov5_birdproject 平级)
|
|
RESULT_ROOT="/data2/zhangw_data/yolov5_result_cts_wts"
|
|
|
|
# Python 转换脚本名
|
|
PY_SCRIPT="pt_to_cfg_wts.py"
|
|
|
|
# 输入尺寸
|
|
IMG_SIZE=960
|
|
|
|
# ==========================
|
|
# 命令行参数
|
|
# ==========================
|
|
|
|
PT_PATH="$1"
|
|
RESULT_DATE="$2"
|
|
RESERVE_NAME="$3"
|
|
|
|
# ==========================
|
|
# 参数检查
|
|
# ==========================
|
|
|
|
if [ -z "$PT_PATH" ] || [ -z "$RESULT_DATE" ] || [ -z "$RESERVE_NAME" ]; then
|
|
echo "用法:"
|
|
echo "bash pt_to_cfg_wts.sh 权重.pt 日期 保护区简称"
|
|
echo ""
|
|
echo "示例:"
|
|
echo "bash pt_to_cfg_wts.sh \\"
|
|
echo "/data2/zhangw_data/yolov5_birdproject/runs/train/exp/weights/best.pt \\"
|
|
echo "20260526 \\"
|
|
echo "HHK"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$PT_PATH" ]; then
|
|
echo "错误:找不到权重文件:$PT_PATH"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$PY_SCRIPT" ]; then
|
|
echo "错误:找不到Python转换脚本:$PY_SCRIPT"
|
|
echo "请确认当前目录是 yolov5_birdproject 根目录"
|
|
exit 1
|
|
fi
|
|
|
|
# ==========================
|
|
# 输出目录
|
|
# ==========================
|
|
|
|
RESULT_DIR="${RESULT_ROOT}/yolov5_result_cts_wts_${RESULT_DATE}_${RESERVE_NAME}"
|
|
|
|
mkdir -p "$RESULT_DIR"
|
|
|
|
export YOLOV5_CFG_WTS_SAVE_DIR="$RESULT_DIR"
|
|
|
|
PT_BASENAME=$(basename "$PT_PATH")
|
|
|
|
# ==========================
|
|
# 开始转换
|
|
# ==========================
|
|
|
|
echo "========== YOLOv5 PT 转 CFG/WTS =========="
|
|
echo "权重文件:$PT_PATH"
|
|
echo "输入尺寸:${IMG_SIZE} x ${IMG_SIZE}"
|
|
echo "结果目录:$RESULT_DIR"
|
|
echo "日期:$RESULT_DATE"
|
|
echo "保护区简称:$RESERVE_NAME"
|
|
echo "========================================="
|
|
|
|
python "$PY_SCRIPT" \
|
|
--weights "$PT_PATH" \
|
|
--size "$IMG_SIZE" "$IMG_SIZE" \
|
|
--name "$PT_BASENAME"
|
|
|
|
echo ""
|
|
echo "========== 转换完成 =========="
|
|
echo "输出目录:$RESULT_DIR"
|
|
echo ""
|
|
|
|
ls -lh "$RESULT_DIR" |