Skip to content

Commit 58c751b

Browse files
authored
Refresh README (#27)
* docs: highlight customization in README * Add emoji icons to README
1 parent b7937c8 commit 58c751b

1 file changed

Lines changed: 41 additions & 198 deletions

File tree

README.md

Lines changed: 41 additions & 198 deletions
Original file line numberDiff line numberDiff line change
@@ -1,227 +1,70 @@
1-
# 🚀 ML Log Analyzer
2-
3-
一个现代化的在线工具,专门用于分析和可视化大模型训练日志中的损失函数(Loss)和梯度范数(Grad Norm)数据。支持多种日志格式,提供智能解析、多图表同步显示和高级对比分析功能。
1+
# ML Log Analyzer 🚀
42

53
[![GitHub Pages](https://img.shields.io/badge/GitHub-Pages-green)](https://log.javazero.top/)
6-
[![License](https://img.shields.io/badge/License-MIT-blue)](#license)
4+
[![License](https://img.shields.io/badge/License-MIT-blue)](LICENSE)
75
[![React](https://img.shields.io/badge/React-19.1.0-blue)](https://reactjs.org/)
86
[![Vite](https://img.shields.io/badge/Vite-6.3.5-green)](https://vitejs.dev/)
97

10-
## 🌟 在线使用
11-
12-
**直接访问**: [https://log.javazero.top/](https://log.javazero.top/)
13-
14-
无需安装,打开即用!支持所有现代浏览器。
15-
16-
## ✨ 核心功能
17-
18-
### 📁 **智能文件上传**
19-
- **🎯 全页面拖拽**:将日志文件拖拽到页面任意位置即可上传
20-
- **📊 多文件支持**:同时上传和分析多个训练日志文件
21-
- **📝 格式兼容**:支持所有文本格式文件(`.log``.txt`、无后缀等)
22-
- **⚡ 即时解析**:文件上传后立即开始解析和可视化
8+
一个现代化的在线工具,帮助您分析和可视化机器学习训练日志中的损失函数和梯度范数。
9+
支持多种日志格式,提供智能解析、同步图表和对比分析等高级功能。
2310

24-
### 🔍 **强大的数据解析系统**
25-
- **🎨 关键词匹配**(默认模式):智能识别日志中的关键字,自动提取数值
26-
- Loss: `loss:` → 自动查找后续数字
27-
- Grad Norm: `norm:` → 自动提取梯度范数值
28-
- **⚙️ 正则表达式模式**:支持复杂的自定义匹配规则
29-
- **🤖 智能推荐**:系统自动分析日志格式并推荐最佳解析方式
30-
- **🔬 多格式支持**:JSON、键值对、数组、科学计数法等多种日志格式
31-
- **🎯 独立配置**:每个文件可单独配置解析规则
11+
## 在线体验 🌐
3212

33-
### 📊 **高级可视化图表**
34-
- **🔄 多图表同步**:鼠标hover时,所有图表同步显示相同步骤的数据点
35-
- **🎯 精确定位**:hover时显示实心圆点,精确指示当前训练步骤
36-
- **⚡ 零延迟响应**:所有交互效果即时响应,无动画延迟
37-
- **📏 可调整尺寸**:图表高度可以自由调整,适应不同分析需求
38-
- **🎨 动态布局**:根据显示的图表数量自动调整布局(单列/双列)
13+
访问 [https://log.javazero.top/](https://log.javazero.top/) 即可使用,无需安装。
3914

40-
### 🔬 **深度对比分析**
41-
当选择2个文件时,系统提供专业的对比分析:
42-
- **📈 Normal模式**: 原始差值分析 (File2 - File1)
43-
- **📊 Absolute模式**: 绝对差值分析 |File2 - File1|
44-
- **📉 Relative模式**: 相对差值百分比分析
45-
- **📋 统计指标**: 详细的平均误差(normal)、平均误差(absolute)、相对误差(normal)、平均相对误差(absolute)
46-
- **⚖️ 基准线设置**: 可配置相对误差和绝对误差的基准线
15+
## 主要特性
4716

48-
### �️ **灵活的显示控制**
49-
- **👁️ 图表切换**:独立控制Loss函数和Grad Norm图表的显示
50-
- **📁 文件管理**:支持文件启用/禁用,灵活控制参与分析的数据
51-
- **📊 数据范围**:支持设置分析的起始和结束位置,专注特定训练阶段
52-
- **🔄 实时更新**:所有配置修改后图表立即更新
17+
- 🚀 **多文件上传**:全页面拖拽即可上传多个日志文件并独立配置解析规则。
18+
- 🔍 **智能解析**:关键字匹配和正则表达式两种模式,自动识别常见日志格式。
19+
- 📝 **自定义指标**:可自由添加关键字或正则,自定义需要解析的日志字段,并提供常用预设。
20+
- 📈 **同步图表**:多个图表之间鼠标悬停同步显示相同训练步骤的数据。
21+
- 🔬 **对比分析**:提供 Normal、Absolute、Relative 等多种差值模式,并计算统计指标。
22+
- 🎛️ **灵活展示**:可独立启用或禁用文件和图表,支持调整数据范围与图表尺寸,图表高度可拖拽调整。
23+
-**易用特性**:支持匹配预览、智能推荐解析规则,图表 Shift+拖动可快速缩放。
5324

54-
### 🎨 **现代化用户界面**
55-
- **📱 响应式设计**:完美适配桌面、平板和手机设备
56-
- **🌈 直观交互**:清晰的视觉反馈和用户引导
57-
- **♿ 无障碍支持**:完整的键盘导航和屏幕阅读器支持
58-
- **🎯 用户友好**:简洁明了的操作流程,零学习成本
25+
## 快速上手 ⚡
5926

60-
## 🛠️ 技术栈
27+
1. 将训练日志文件拖拽到页面任意位置。
28+
2. 在弹出的配置面板中选择解析方式(关键字或正则),并可添加自定义指标。
29+
3. 查看自动生成的图表,必要时可上传第二个文件进行对比分析。
30+
4. 调整图表显示或数据范围以获得更精确的结果。
6131

62-
- **前端框架**: React 19.1.0
63-
- **构建工具**: Vite 6.3.5
64-
- **样式框架**: Tailwind CSS 4.1.10
65-
- **图表库**: Chart.js + react-chartjs-2
66-
- **图标**: Lucide React
67-
- **开发语言**: JavaScript (ES6+)
68-
- **部署方式**: GitHub Actions + GitHub Pages
32+
## 部署
6933

70-
## 🚀 部署说明
34+
### GitHub Pages
7135

72-
本项目采用 GitHub Actions 自动化部署到 GitHub Pages,每次推送到主分支时自动构建和部署。
36+
本仓库已配置 GitHub Actions,推送到主分支会自动构建并部署到 GitHub Pages。
37+
Fork 仓库后开启 GitHub Pages 即可自动部署。
7338

74-
如需 fork 此项目进行自定义开发:
39+
### Vercel
7540

76-
1. Fork 本仓库到你的 GitHub 账户
77-
2. 在仓库设置中启用 GitHub Pages
78-
3. 选择 GitHub Actions 作为部署源
79-
4. 推送代码时将自动触发构建和部署
80-
5. 部署完成后,可在 `Deploy to GitHub Pages` 工作流中下载自动生成的 `dist.zip` 以进行本地部署
81-
82-
### 使用 Vercel 部署
83-
84-
如果想要快速体验,可以点击下方按钮一键部署:
41+
也可以一键部署到 Vercel:
8542

8643
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/JavaZeroo/log-parser)
8744

88-
项目也支持部署到 [Vercel](https://vercel.com)。仓库已包含 `vercel.json` 配置文件,默认使用 `@vercel/static-build` 构建站点并将 `dist` 目录作为输出。部署步骤如下:
89-
90-
1. 安装 Vercel CLI:`npm i -g vercel`
91-
2. 在项目根目录运行 `vercel`,根据提示完成初始化
92-
3. 之后每次 `git push` 都会自动触发构建并部署到 Vercel
93-
94-
## 📝 使用指南
95-
96-
### 🎯 快速上手
97-
1. **📂 上传文件**: 拖拽训练日志文件到页面任意位置
98-
2. **🔍 选择解析方式**:
99-
- **关键词匹配**(推荐):直接使用 `loss:``norm:` 关键字
100-
- **正则表达式**:自定义复杂的匹配规则
101-
3. **📊 查看图表**: 系统自动解析并生成交互式图表
102-
4. **⚖️ 对比分析**: 上传两个文件时自动启用高级对比功能
103-
5. **🎛️ 调整显示**: 控制图表显示选项和数据范围
104-
105-
### 🔧 高级功能
106-
- **📁 文件独立配置**: 每个文件可单独设置解析规则和数据范围
107-
- **🔄 多图表同步**: hover任意图表时,所有相关图表同步显示
108-
- **📏 图表调整**: 拖拽调整图表高度,适应不同分析需求
109-
- **📋 统计分析**: 自动计算并显示详细的统计指标
110-
111-
## 📊 支持的日志格式
112-
113-
### 🎯 关键词匹配模式(推荐)
114-
支持多种常见的训练日志格式:
115-
116-
```bash
117-
# 标准格式
118-
loss: 0.1234
119-
norm: [1.5678]
120-
121-
# JSON 格式
122-
{"loss": 0.1234, "norm": 1.5678}
123-
124-
# 数组格式
125-
loss [0.1234]
126-
norm: [1.5678]
127-
128-
# 科学计数法
129-
loss: 1.234e-4
130-
norm: 1.5678E+0
131-
132-
# MindFormers 格式
133-
Step 100: loss=0.1234 norm=1.5678
134-
```
135-
136-
### ⚙️ 正则表达式模式
137-
对于特殊格式的日志,可以使用自定义正则表达式:
138-
139-
```bash
140-
# 默认正则
141-
Loss: loss:\\s*([\\d.eE+-]+)
142-
Grad Norm: grad[\\s_]norm:\\s*([\\d.eE+-]+)
143-
144-
# 自定义示例
145-
train_loss:\\s*([\\d.eE+-]+)
146-
gradient_norm:\\s*([\\d.eE+-]+)
147-
```
148-
149-
## 🔧 功能特色
150-
151-
### 🎯 智能解析系统
152-
- **关键词匹配**: 默认模式,智能识别常见训练日志格式
153-
- **智能推荐**: 自动分析日志结构,推荐最佳解析方式
154-
- **多格式支持**: 兼容JSON、键值对、数组、科学计数法等格式
155-
- **实时预览**: 解析结果实时预览,包含数值、行号、原文信息
156-
157-
### 📊 高级可视化
158-
- **同步显示**: 多图表联动,hover时同步显示相同训练步骤
159-
- **精确定位**: 实心圆点精确标识当前hover位置
160-
- **即时响应**: 零延迟交互,所有动画已优化
161-
- **响应式布局**: 根据图表数量自动调整单列/双列布局
162-
163-
### 🔬 专业对比分析
164-
- **四种对比模式**: 平均误差(normal)、平均误差(absolute)、相对误差(normal)、平均相对误差(absolute)
165-
- **统计指标**: 平均误差(normal)、平均误差(absolute)、相对误差(normal)、平均相对误差(absolute)
166-
- **基准线设置**: 可配置对比基准线,突出显示显著差异
167-
- **差值可视化**: 专门的差值图表,清晰展示训练差异
168-
169-
### 🎛️ 灵活控制
170-
- **文件管理**: 支持文件启用/禁用、删除、重命名
171-
- **独立配置**: 每个文件可单独设置解析规则和数据范围
172-
- **全局同步**: 全局解析配置可一键应用到所有文件
173-
- **数据范围**: 支持设置分析的起始和结束步骤
174-
175-
## 📦 项目结构
45+
## 项目结构 🗂
17646

17747
```
17848
src/
179-
├── components/ # React 组件
180-
│ ├── Header.jsx # 页面头部(已清空)
181-
│ ├── FileUpload.jsx # 文件上传组件
182-
│ ├── FileList.jsx # 文件列表管理
183-
│ ├── RegexControls.jsx # 解析规则控制
184-
│ ├── ComparisonControls.jsx # 对比模式控制
185-
│ ├── ChartContainer.jsx # 图表容器和同步控制
186-
│ ├── ResizablePanel.jsx # 可调整尺寸的图表面板
187-
│ └── FileConfigModal.jsx # 文件配置弹窗
188-
├── App.jsx # 主应用组件
189-
├── main.jsx # 应用入口
190-
└── index.css # 全局样式和无障碍支持
49+
├── components/ # 主要 React 组件
50+
├── assets/ # 静态资源
51+
├── utils/ # 工具函数
52+
├── App.jsx # 应用入口组件
53+
└── main.jsx # 渲染入口
19154
```
19255

193-
## 🤝 贡献
194-
195-
欢迎贡献代码和提出建议!
196-
197-
### 如何贡献
198-
1. Fork 本仓库
199-
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
200-
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
201-
4. 推送到分支 (`git push origin feature/AmazingFeature`)
202-
5. 打开一个 Pull Request
203-
204-
### 报告问题
205-
如果您发现任何问题或有功能建议,请在 [Issues](https://github.com/JavaZeroo/log-parser/issues) 页面提交。
206-
207-
## 📄 许可证
208-
209-
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
210-
211-
## 🙏 致谢
212-
213-
感谢以下开源项目的支持:
56+
## 贡献 🙌
21457

215-
- [Chart.js](https://www.chartjs.org/) - 强大的图表库,提供高性能可视化
216-
- [React](https://reactjs.org/) - 现代化的用户界面库
217-
- [Vite](https://vitejs.dev/) - 快速的前端构建工具
218-
- [Tailwind CSS](https://tailwindcss.com/) - 实用优先的CSS框架
219-
- [Lucide](https://lucide.dev/) - 美观一致的图标库
58+
欢迎通过 Pull Request 提交代码或提出建议。
22059

221-
---
60+
## 许可证 📄
22261

223-
## ⭐ 支持项目
62+
项目基于 [MIT](LICENSE) 协议发布。
22463

225-
如果这个工具对您的机器学习项目有帮助,请给它一个 ⭐ !
64+
## 鸣谢 🙏
22665

227-
您的支持是我们持续改进的动力。
66+
- [Chart.js](https://www.chartjs.org/)
67+
- [React](https://reactjs.org/)
68+
- [Vite](https://vitejs.dev/)
69+
- [Tailwind CSS](https://tailwindcss.com/)
70+
- [Lucide](https://lucide.dev/)

0 commit comments

Comments
 (0)