NeuroForge AI ⚡ 工业级神经网络训练平台
一个端到端的深度学习平台,提供可视化架构设计、实时训练监控、模型版本管理与MLOps全生命周期支持。
📖 平台概述
NeuroForge AI 是一个面向工业场景的神经网络训练平台,旨在降低AI模型开发门槛,提升训练效率与可观测性。平台采用前后端分离架构,后端基于FastAPI与PyTorch,前端使用React + TypeScript,提供完整的MLOps能力。
🎨 可视化架构设计
拖拽式神经网络层设计,支持卷积、Transformer、LSTM等6种核心层,实时计算参数量。
📊 实时训练监控
损失/准确率曲线、GPU利用率、实时日志,WebSocket推送训练进度。
📦 模型版本管理
自动版本编号、生产环境部署、模型下载与回滚。
🔧 超参数调优
学习率、Batch Size、Dropout等动态配置,支持混合精度与梯度裁剪。
📁 数据集管理
CSV/图像数据集上传、预览、统计分析,自动检测标签分布。
🔄 MLOps 管道
数据摄取→清洗→设计→训练→评估→部署全流程可视化。
🏗️ 系统架构
NeuroForge AI 采用现代Web架构,确保高性能、可扩展性与易维护性。
🎯 前端层 (React + TypeScript)
- 架构画布 (D3.js + Three.js)
- 图表监控 (Chart.js)
- 状态管理 (Zustand)
- 数据获取 (TanStack Query)
⚙️ 后端层 (FastAPI + PyTorch)
- RESTful API 设计
- 异步训练任务 (线程池)
- WebSocket 实时推送
- SQLite/PostgreSQL 持久化
🧠 训练引擎
- PyTorch 动态图
- 混合精度训练 (FP16)
- 梯度裁剪与早停
- 自动模型保存
用户 → 前端UI → REST API → 后端服务 → 数据库/训练引擎 → WebSocket → 实时反馈
⚡ 快速开始
1. 环境准备
# 克隆仓库
git clone https://github.com/neuroforge/neuroforge-ai.git
cd neuroforge-ai
# Python 3.11+ / Node.js 18+ 要求
2. 启动后端
cd backend
pip install -r requirements.txt
python run.py
# 访问 http://localhost:8000/api/docs
3. 启动前端
cd frontend
npm install
npm run dev
# 访问 http://localhost:5173
4. 创建第一个项目
curl -X POST "http://localhost:8000/api/v1/projects" \
-H "Content-Type: application/json" \
-d '{
"name": "我的第一个项目",
"description": "MNIST分类器",
"architecture": [
{"id":1,"type":"conv","name":"Conv2D\n3×3,32","x":100,"y":300,"params":896},
{"id":2,"type":"dense","name":"Dense\n128","x":220,"y":300,"params":8192},
{"id":3,"type":"dense","name":"Output\n10","x":340,"y":300,"params":1290}
],
"hyperparameters": {"learning_rate":0.001,"batch_size":32,"epochs":10}
}'
✨ 核心特性详解
🎨 神经网络架构设计器
可视化拖拽式神经网络设计,支持6种核心层类型,实时计算参数量与FLOPs。
卷积层 (Conv2D)
可配置kernel size、channels、stride、padding
Transformer层
多头注意力机制,支持位置编码
LSTM层
长短时记忆网络,时序建模
全连接层 (Dense)
特征映射与分类头
Dropout层
正则化,防止过拟合
归一化层
BatchNorm / LayerNorm
📊 实时训练监控
WebSocket实时推送训练指标,支持多图表联动展示。
- 损失曲线 — 训练损失/验证损失对比
- 准确率曲线 — 训练准确率/验证准确率趋势
- GPU利用率 — 显存占用、计算负载
- 学习率调度 — 动态学习率变化曲线
- 实时日志 — 彩色分级日志输出
📦 模型版本管理
完整的模型生命周期管理,支持多版本并存与生产环境部署。
- 自动版本编号 (v1.0.0, v2.0.0...)
- 模型性能对比 (准确率/损失排行榜)
- 一键部署到生产环境
- 模型文件下载 (.pth格式)
- 版本回滚支持
🔧 技术栈详解
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端框架 | React 18 + TypeScript | 类型安全、组件化开发 |
| 构建工具 | Vite | 快速热更新、生产优化 |
| 样式方案 | TailwindCSS | 实用优先的CSS框架 |
| 状态管理 | Zustand | 轻量级、无需Provider |
| 数据获取 | TanStack Query | 缓存、重试、同步状态 |
| 图表库 | Chart.js + D3.js | 数据可视化 |
| 3D渲染 | Three.js | 3D场景装饰 |
| 后端框架 | FastAPI | 高性能、自动文档 |
| 深度学习 | PyTorch 2.1 | 动态图、GPU加速 |
| 数据库 | SQLite / PostgreSQL | 开发/生产环境适配 |
| 部署 | Docker + Docker Compose | 一键启动所有服务 |
🔌 API 参考
完整的RESTful API设计,启动后端后访问 /api/docs 查看交互式文档。
项目管理接口
训练管理接口
模型管理接口
数据集管理接口
📁 数据集管理
支持格式
| 格式 | 说明 | 标注要求 |
|---|---|---|
| CSV | 表格数据,包含特征和标签列 | 需包含 label 或 target 列 |
| 图像文件夹 | 按类别组织的图像文件 | 文件夹名称即为类别名 |
| ZIP/TAR | 压缩的图像数据集 | 解压后按类别组织 |
CSV 数据集示例
label,pixel_0,pixel_1,pixel_2,...,pixel_3071
0,0.2,0.3,0.1,...,0.5
1,0.5,0.6,0.4,...,0.7
2,0.1,0.2,0.3,...,0.4
data/train/cat/cat_001.jpg
data/train/dog/dog_001.jpg
data/val/cat/cat_001.jpg
🎨 模型设计器使用指南
添加层
从左侧组件库点击或拖拽添加层,支持6种类型:卷积、Transformer、LSTM、全连接、Dropout、归一化。
调整位置
拖拽节点可自由调整位置,连线自动更新。
删除层
点击节点右上角的 × 按钮删除层(至少保留一层)。
架构统计
右侧面板实时显示总参数量、模型大小、FLOPs估算。
系统会自动验证输入输出维度匹配,确保架构可执行训练。
🎯 训练与监控
超参数配置
- 学习率 — 1e-6 ~ 1e-1,推荐从1e-3开始
- Batch Size — 8 ~ 1024,根据GPU内存调整
- 训练轮数 — 10 ~ 200
- Dropout比例 — 0.0 ~ 0.8
- 混合精度训练 — FP16加速,减少显存占用
- 梯度裁剪 — 防止梯度爆炸
- 早停 — 验证集准确率不再提升时自动停止
训练监控指标
- 训练损失 — 模型在训练集上的损失值
- 验证损失 — 模型在验证集上的损失值
- 训练准确率 — 训练集分类准确率
- 验证准确率 — 验证集分类准确率
- GPU利用率 — 显存占用、计算负载百分比
- 学习率变化 — 动态调度时的学习率曲线
📦 模型版本管理
每次训练完成后自动保存最佳模型版本,支持以下操作:
- 查看版本 — 展示所有训练过的模型版本及性能指标
- 部署生产 — 将选定模型设为生产环境版本
- 下载模型 — 导出.pth格式模型文件用于推理
- 删除版本 — 清理不需要的历史版本
- 版本对比 — 不同版本的准确率/损失对比视图
每个项目同时只能有一个模型处于生产环境状态,部署新版本会自动取消旧版本的部署状态。
🔄 MLOps 全生命周期管道
📥 数据摄取
支持CSV、图像数据集上传,自动分析样本分布
🧹 数据清洗
异常值检测、缺失值处理、数据增强配置
🎨 架构设计
可视化设计、架构验证、参数量统计
🚀 模型训练
异步训练、实时监控、自动保存最佳模型
✅ 评估验证
测试集评估、混淆矩阵、ROC曲线
🌐 部署上线
一键部署、版本管理、生产环境切换
📌 示例项目
| 示例 | 描述 | 数据集 |
|---|---|---|
| MNIST 手写数字识别 | LeNet-5架构,10分类 | MNIST (60k/10k) |
| CIFAR-10 图像分类 | ResNet-18风格,10分类 | CIFAR-10 (50k/10k) |
| 猫狗分类器 | 简单CNN,二分类 | Cat vs Dog (25k) |
| 文本情感分析 | LSTM + Embedding | IMDB评论 (50k) |
选择示例项目,点击"导入",自动加载预置架构和超参数配置。
📊 性能指标参考
| GPU型号 | CIFAR-10 (50轮) | ImageNet (90轮) | 显存占用 |
|---|---|---|---|
| NVIDIA RTX 3090 | ~25分钟 | ~2.5天 (8卡) | 24GB |
| NVIDIA A100 | ~15分钟 | ~1.5天 (8卡) | 40/80GB |
| NVIDIA V100 | ~30分钟 | ~3天 (8卡) | 16/32GB |
| NVIDIA T4 | ~45分钟 | ~5天 (8卡) | 16GB |
| CPU (Intel i9) | ~3小时 | 不推荐 | 系统内存 |
1. 使用混合精度训练可提升30-50%速度
2. 增大Batch Size充分利用GPU并行能力
3. 启用梯度累积模拟更大Batch Size
4. 使用DataLoader多线程预取数据
🚀 部署指南
Docker 一键部署
# 使用 Docker Compose
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
生产环境配置
- 数据库: 使用 PostgreSQL 替代 SQLite
- Redis: 用于缓存和消息队列
- Nginx: 反向代理前端静态资源
- GPU调度: 使用 Kubernetes 管理GPU资源
❓ 常见问题
Q1: 训练时提示CUDA out of memory?
减小Batch Size,或启用混合精度训练(FP16),也可以使用梯度累积技术。
Q2: 如何查看详细的训练日志?
训练监控页面底部有实时日志输出区,也可通过 GET /api/v1/training/runs/{run_id} 获取完整日志。
Q3: 训练中断后可以恢复吗?
支持训练暂停和恢复功能,点击"暂停训练"后,系统会保存当前状态,可随时恢复训练。
Q4: 模型导出后如何用于推理?
下载的.pth文件包含模型权重,可使用PyTorch加载:model.load_state_dict(torch.load('model.pth'))
Q5: 支持分布式训练吗?
当前版本支持单机多卡训练,后续将支持多机分布式训练。
Q6: 如何上传自定义数据集?
在数据集管理页面点击"上传数据集",支持CSV或ZIP压缩包格式。
- 端口被占用: 修改 run.py 或 .env 中的端口配置
- 数据库锁定: 开发环境使用SQLite,生产环境建议迁移到PostgreSQL
- CORS错误: 确保前端端口在CORS允许列表中 (3000, 5173)
🧠 NeuroForge AI · 工业级神经网络训练平台 · MIT License
文档版本 v1.0 | 最后更新: 2026-03-28 | 基于真实代码库生成