洛阳做天然气公司网站快速建站
2026/3/22 4:54:27 网站建设 项目流程
洛阳做天然气公司网站,快速建站,加wordpress备案号,长春网站建设托管训练日志在哪看#xff1f;workdirs目录结构全解析 1. 引言#xff1a;为什么需要理解 workdirs 目录#xff1f; 在使用 cv_resnet18_ocr-detection OCR文字检测模型进行训练微调时#xff0c;用户最常遇到的问题之一就是#xff1a;“训练日志到底保存在哪里#xff…训练日志在哪看workdirs目录结构全解析1. 引言为什么需要理解 workdirs 目录在使用cv_resnet18_ocr-detectionOCR文字检测模型进行训练微调时用户最常遇到的问题之一就是“训练日志到底保存在哪里如何查看训练过程是否正常”尤其是在 WebUI 界面中点击“开始训练”后仅显示“训练完成”但没有直观的输出信息。此时深入理解项目中的workdirs/目录结构就显得尤为重要。本文将基于科哥构建的 cv_resnet18_ocr-detection 镜像环境全面解析workdirs/的目录组织方式、关键文件作用以及如何通过日志判断训练状态和性能表现。帮助开发者快速定位问题、优化参数并实现高效模型微调。2. workdirs 目录概览与生成机制2.1 目录位置与作用workdirs/是该 OCR 模型在执行“训练微调”任务时自动生成的工作空间位于项目根目录下/root/cv_resnet18_ocr-detection/ ├── workdirs/ ← 训练相关输出集中地 │ └── exp_20260105_143022/ │ ├── config.yaml # 训练配置 │ ├── log.txt # 主训练日志 │ ├── checkpoints/ # 权重保存 │ ├── tensorboard/ # 可视化日志如有 │ └── eval_results/ # 验证集评估结果核心功能记录每一次训练任务的完整上下文包括超参配置、训练日志、模型权重、评估指标等便于复现和调试。2.2 命名规则与时间戳解析每次启动训练系统会以当前时间创建一个独立子目录命名格式为exp_YYYYMMDD_HHMMSS例如exp_20260105_143022表示 2026年1月5日 14点30分22秒发起的训练任务这种设计确保了多轮训练不会覆盖历史数据支持后续横向对比不同实验的效果。3. 核心子目录与文件详解3.1 config.yaml训练配置快照这是训练开始前从 WebUI 界面读取并持久化的参数集合内容如下所示train_data_dir: /root/custom_data batch_size: 8 num_epochs: 5 learning_rate: 0.007 input_size: [800, 800] backbone: resnet18 optimizer: SGD scheduler: StepLR用途说明✅ 查看实际使用的 Batch Size、学习率等关键参数✅ 排查配置错误如路径拼写、数值越界✅ 支持实验复现可直接加载此配置重新运行相同实验建议做法每次训练后备份重要config.yaml文件用于建立实验管理档案。3.2 log.txt主训练日志文件这是诊断训练过程的核心日志采用标准文本格式逐行输出典型内容如下[INFO] Starting training at 2026-01-05 14:30:22 [CONFIG] Using device: cuda:0 (GPU detected) [DATA] Loading dataset from /root/custom_data [DATA] Train samples: 456 | Test samples: 120 [TRAIN] Epoch 1/5, Iter 0/57, Loss: 1.876, LR: 0.007000 [TRAIN] Epoch 1/5, Iter 10/57, Loss: 1.543, LR: 0.007000 [TRAIN] Epoch 1/5, Iter 20/57, Loss: 1.321, LR: 0.007000 [VAL] Epoch 1 finished. F-score: 0.682, Precision: 0.701, Recall: 0.664 [TRAIN] Epoch 2/5, Iter 0/57, Loss: 1.209, LR: 0.007000 ... [SAVE] Best model saved to checkpoints/best_model.pth (F-score improved) [INFO] Training completed successfully.日志关键字段解读字段含义关注重点[TRAIN]训练阶段损失观察 Loss 是否稳定下降[VAL]验证阶段指标F-score/Precision/Recall 判断泛化能力F-score综合准确率指标越高越好0.8 为良好[SAVE]模型保存提示确认最优模型已存档[ERROR]或[FAIL]错误信息必须排查的根本原因实战技巧实时监控日志流可通过以下命令动态查看日志更新tail -f workdirs/exp_20260105_143022/log.txt结合grep过滤关键信息# 查看所有验证结果 grep \[VAL\] workdirs/exp_20260105_143022/log.txt # 检查是否有报错 grep -i error\|fail\|exception workdirs/exp_20260105_143022/log.txt3.3 checkpoints/模型权重存储目录该目录保存训练过程中生成的所有.pth权重文件典型结构如下checkpoints/ ├── best_model.pth # 最佳模型按 F-score 保存 ├── last_model.pth # 最终轮次模型 ├── epoch_3.pth # 第3轮中间检查点可选 └── backup_epoch_5.pth # 最终轮次备份文件用途说明best_model.pth推荐用于推理部署的最终模型last_model.pth可用于继续训练断点续训中间 checkpoint支持训练中断恢复或回滚到特定轮次⚠️ 注意WebUI “ONNX 导出” 功能默认使用best_model.pth进行转换请确保其存在且性能达标。3.4 eval_results/验证集详细输出该目录包含每轮验证后的预测结果与真实标签对比常见文件有eval_results/ ├── predictions.json # 所有预测框与文本 ├── ground_truth.json # 真实标注数据 ├── metrics_per_image/ # 按图统计精度 │ ├── 3.jpg_precision.txt │ └── 3.jpg_recall.txt └── confusion_matrix.png # 类别混淆矩阵若有多分类这些文件可用于分析漏检Recall 低或误检Precision 低的具体样本定制后处理策略如阈值调整、NMS 参数优化3.5 tensorboard/可选可视化训练曲线如果项目启用了 TensorBoard 支持则会生成该目录包含事件日志文件tensorboard/ └── events.out.tfevents.123456789可通过以下命令启动可视化服务tensorboard --logdir workdirs/exp_20260105_143022/tensorboard --port6006浏览器访问http://服务器IP:6006即可查看训练 Loss 曲线F-score、Precision、Recall 变化趋势学习率衰减过程 提示即使 WebUI 无图形展示也可通过 TensorBoard 获取专业级训练分析能力。4. 如何通过日志判断训练质量4.1 正常训练流程的日志特征一个健康的训练过程应具备以下特点Loss 持续下降初期下降快后期趋于平稳F-score 逐步上升每轮验证后均有提升或保持高位出现[SAVE] Best model saved提示无异常中断或 CUDA Out of Memory 报错示例片段[VAL] Epoch 1 finished. F-score: 0.682 [VAL] Epoch 2 finished. F-score: 0.745 ← 上升 ✓ [VAL] Epoch 3 finished. F-score: 0.791 ← 上升 ✓ [SAVE] Best model saved to checkpoints/best_model.pth4.2 常见异常日志模式及应对方案异常现象日志表现解决方法数据加载失败[ERROR] File not found: train_images/1.jpg检查train_list.txt路径是否正确标注格式错误[ERROR] Invalid box format in 1.txt确保 txt 文件为x1,y1,x2,y2,...,text格式内存溢出CUDA out of memory减小batch_size至 4 或 2损失不降Loss stuck around 2.0 for many iterations检查学习率是否过高或过低全部漏检F-score: 0.000检查图像预处理是否破坏文本结构 故障排查优先顺序日志 → 配置 → 数据路径 → 标注格式 → GPU资源5. 工程实践建议高效利用 workdirs5.1 建立实验编号管理系统建议手动为重要实验添加符号链接方便追踪ln -s workdirs/exp_20260105_143022 workdirs/exp_v1_baseline ln -s workdirs/exp_20260106_091233 workdirs/exp_v2_augmented这样可以避免记忆复杂时间戳提升团队协作效率。5.2 自动归档脚本示例编写简单脚本定期压缩旧实验节省磁盘空间#!/bin/bash # archive_old_experiments.sh for dir in workdirs/exp_*; do if [ -d $dir ]; then exp_name$(basename $dir) tar -czf ${exp_name}.tar.gz $dir rm -rf $dir echo Archived $exp_name fi done5.3 结合 ONNX 导出验证效果训练完成后建议立即导出 ONNX 模型并在测试集上验证python onnx_inference_test.py \ --onnx-model outputs/model_800x800.onnx \ --test-dir /root/custom_data/test_images确认导出模型推理结果与训练日志中的 F-score 一致防止部署偏差。6. 总结workdirs/目录是cv_resnet18_ocr-detection模型训练微调的核心输出区掌握其结构对于高效开发至关重要。本文系统梳理了该目录的组成与使用方法config.yaml记录训练配置支持复现实验log.txt主日志文件用于监控训练进度与诊断问题checkpoints/存放最佳与最终模型权重eval_results/提供细粒度评估数据tensorboard/可选的可视化分析工具通过合理解析workdirs/中的信息开发者不仅能回答“训练日志在哪看”这一基础问题更能深入理解模型行为、优化训练策略并构建可重复、可追溯的 AI 开发流程。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询