| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
|
|
| set -e |
| cd /home/user/work/lch/DairyGoat |
|
|
| PACK_DIR="/home/user/work/lch/DairyGoat_migration" |
| mkdir -p "$PACK_DIR" |
|
|
| echo "============================================" |
| echo " DairyGoat 项目迁移打包" |
| echo " $(date)" |
| echo "============================================" |
|
|
| |
| |
| |
| echo "" |
| echo "[1/3] 打包 Pack1: 核心文件..." |
|
|
| tar czf "$PACK_DIR/pack1_core.tar.gz" \ |
| --exclude='__pycache__' \ |
| --exclude='*.cache' \ |
| Scripts/ \ |
| Data/Detection_dataset/dataset.yaml \ |
| Data/Detection_dataset/labels/ \ |
| Data/Detection_dataset_dedup/dataset.yaml \ |
| Data/Detection_dataset_nightaug/dataset.yaml \ |
| logs/ \ |
| docs/ \ |
| Models/ \ |
| Background/ \ |
| Platform/ \ |
| .claude/ \ |
| need_review_images.txt \ |
| 2>/dev/null |
|
|
| echo " Pack1 基础文件打包完成" |
|
|
| |
| echo " 添加最佳权重..." |
| BEST_WEIGHTS="" |
| for d in runs/detect/Detection_experiments/*/weights/best.pt; do |
| if [ -f "$d" ]; then |
| BEST_WEIGHTS="$BEST_WEIGHTS $d" |
| fi |
| done |
| |
| for d in runs/detect/Detection_experiments/*/weights/last.pt; do |
| if [ -f "$d" ]; then |
| BEST_WEIGHTS="$BEST_WEIGHTS $d" |
| fi |
| done |
|
|
| |
| RESULTS_FILES="" |
| for d in runs/detect/Detection_experiments/*/; do |
| for f in results.csv args.yaml confusion_matrix.png results.png; do |
| if [ -f "${d}${f}" ]; then |
| RESULTS_FILES="$RESULTS_FILES ${d}${f}" |
| fi |
| done |
| done |
|
|
| |
| PRETRAINED="yolo11s.pt yolo11m.pt yolo11l.pt yolo11n.pt yolov8s.pt rtdetr-l.pt yolo26n.pt" |
| PRETRAINED_FILES="" |
| for f in $PRETRAINED; do |
| if [ -f "$f" ]; then |
| PRETRAINED_FILES="$PRETRAINED_FILES $f" |
| fi |
| done |
|
|
| tar rzf "$PACK_DIR/pack1_core.tar.gz" \ |
| $BEST_WEIGHTS \ |
| $RESULTS_FILES \ |
| $PRETRAINED_FILES \ |
| 2>/dev/null || true |
|
|
| |
| echo " 添加对话记录..." |
| CLAUDE_DIR="/home/user/.claude/projects/-home-user-work-lch-DairyGoat" |
| if [ -d "$CLAUDE_DIR" ]; then |
| tar rzf "$PACK_DIR/pack1_core.tar.gz" \ |
| -C /home/user/.claude/projects \ |
| "-home-user-work-lch-DairyGoat/" \ |
| 2>/dev/null || true |
| fi |
|
|
| echo " Pack1 完成: $(du -sh $PACK_DIR/pack1_core.tar.gz | cut -f1)" |
|
|
| |
| |
| |
| echo "" |
| echo "[2/3] 打包 Pack2: 数据集图片..." |
|
|
| tar czf "$PACK_DIR/pack2_images.tar.gz" \ |
| Data/Detection_dataset/images/ \ |
| 2>/dev/null |
|
|
| echo " Pack2 完成: $(du -sh $PACK_DIR/pack2_images.tar.gz | cut -f1)" |
|
|
| |
| |
| |
| echo "" |
| echo "[3/3] 打包 Pack3: 全部实验权重..." |
|
|
| |
| tar czf "$PACK_DIR/pack3_all_weights.tar.gz" \ |
| runs/detect/Detection_experiments/*/weights/best.pt \ |
| runs/detect/Detection_experiments/*/weights/last.pt \ |
| runs/detect/Detection_experiments/*/results.csv \ |
| runs/detect/Detection_experiments/*/args.yaml \ |
| runs/detect/Detection_experiments/*/*.png \ |
| 2>/dev/null || true |
|
|
| echo " Pack3 完成: $(du -sh $PACK_DIR/pack3_all_weights.tar.gz | cut -f1)" |
|
|
| |
| |
| |
| echo "" |
| echo "[bonus] 打包去重/夜增强数据集标注..." |
| tar czf "$PACK_DIR/pack_extra_datasets.tar.gz" \ |
| Data/Detection_dataset_dedup/labels/ \ |
| Data/Detection_dataset_dedup/images/train/ \ |
| Data/Detection_dataset_dedup/dataset.yaml \ |
| Data/Detection_dataset_nightaug/dataset.yaml \ |
| Data/Detection_dataset/labels/train_backup_before_refine/ \ |
| Data/Detection_dataset/labels/train_backup_before_refine_v2/ \ |
| 2>/dev/null || true |
|
|
| echo " Extra datasets 完成: $(du -sh $PACK_DIR/pack_extra_datasets.tar.gz | cut -f1)" |
|
|
| |
| |
| |
| echo "" |
| echo "============================================" |
| echo " 打包完成!文件位于: $PACK_DIR/" |
| echo "============================================" |
| echo "" |
| ls -lh "$PACK_DIR/" |
| echo "" |
| du -sh "$PACK_DIR/" |
| echo "" |
| echo "迁移优先级:" |
| echo " 1. pack1_core.tar.gz - [必须] 代码+标注+最佳权重+对话记录" |
| echo " 2. pack2_images.tar.gz - [必须] 数据集原始图片" |
| echo " 3. pack3_all_weights.tar.gz - [建议] 全部实验权重(可从best.pt重新推断)" |
| echo " 4. pack_extra_datasets.tar.gz - [可选] 去重/增强数据集(可重新生成)" |
|
|