NeuroForge AI ⚡ 工业级神经网络训练平台

FastAPI React + TS PyTorch MLOps Ready 生产级

一个端到端的深度学习平台,提供可视化架构设计、实时训练监控、模型版本管理与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 → 实时反馈

⚡ 快速开始

💡 5分钟快速体验

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实时推送训练指标,支持多图表联动展示。

📦 模型版本管理

完整的模型生命周期管理,支持多版本并存与生产环境部署。

🔧 技术栈详解

层级技术选型说明
前端框架React 18 + TypeScript类型安全、组件化开发
构建工具Vite快速热更新、生产优化
样式方案TailwindCSS实用优先的CSS框架
状态管理Zustand轻量级、无需Provider
数据获取TanStack Query缓存、重试、同步状态
图表库Chart.js + D3.js数据可视化
3D渲染Three.js3D场景装饰
后端框架FastAPI高性能、自动文档
深度学习PyTorch 2.1动态图、GPU加速
数据库SQLite / PostgreSQL开发/生产环境适配
部署Docker + Docker Compose一键启动所有服务

🔌 API 参考

完整的RESTful API设计,启动后端后访问 /api/docs 查看交互式文档。

项目管理接口

GET /api/v1/projects - 获取项目列表
POST /api/v1/projects - 创建新项目
GET /api/v1/projects/{id} - 获取项目详情
PUT /api/v1/projects/{id} - 更新项目
DELETE /api/v1/projects/{id} - 删除项目

训练管理接口

POST /api/v1/projects/{id}/train - 启动训练
GET /api/v1/training/runs/{run_id} - 获取训练状态
POST /api/v1/training/runs/{run_id}/pause - 暂停训练
POST /api/v1/training/runs/{run_id}/resume - 恢复训练
DELETE /api/v1/training/runs/{run_id} - 取消训练
WS /api/v1/training/ws/{run_id} - WebSocket实时监控

模型管理接口

GET /api/v1/models - 获取所有模型
POST /api/v1/models/{id}/deploy - 部署到生产环境
GET /api/v1/models/{id}/download - 下载模型文件
DELETE /api/v1/models/{id} - 删除模型

数据集管理接口

POST /api/v1/datasets/upload - 上传数据集
GET /api/v1/datasets - 获取数据集列表
GET /api/v1/datasets/{id}/preview - 预览数据

📁 数据集管理

支持格式

格式说明标注要求
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估算。

📐 架构合法性检查
系统会自动验证输入输出维度匹配,确保架构可执行训练。

🎯 训练与监控

超参数配置

训练监控指标

📦 模型版本管理

每次训练完成后自动保存最佳模型版本,支持以下操作:

⚠️ 注意
每个项目同时只能有一个模型处于生产环境状态,部署新版本会自动取消旧版本的部署状态。

🔄 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 + EmbeddingIMDB评论 (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

生产环境配置

# .env 生产环境配置示例 DATABASE_URL=postgresql://user:pass@postgres:5432/neuroforge REDIS_URL=redis://redis:6379 DEBUG=false SECRET_KEY=your-secret-key-here

❓ 常见问题

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 | 基于真实代码库生成