Releases: ChidcGithub/MLSharp-3D-Maker-GPU
Releases · ChidcGithub/MLSharp-3D-Maker-GPU
MLSharp Verison 2.28.1500
优化代码,修复错误,并完成多语言模块 2.28.1500
- 代码健壮性大幅提升
- 修复 CLIArgs 缺少 no_cache 字段问题
- 修复 Logger 方法重复定义问题
- 修复 Pydantic v2 废弃参数问题 (min_items → min_length)
- 修复 metrics.py 线程安全问题 (使用 threading.Event)
- 修复 app.py GPUManager 线程安全问题
- 修复 traceback.format_exc() 非异常上下文调用问题
- 安全性增强
- 添加 RestrictedUnpickler 防止 pickle 反序列化攻击
- 添加文件上传类型验证(魔数检查)
- 添加路径遍历攻击防护
- 添加请求大小限制
- 添加敏感信息泄露防护
- 添加配置文件路径验证
- 稳定性改进
- 修复 gpu_utils.py 静默异常问题
- 修复文件句柄泄漏问题
- 修复监控中间件竞态条件
- 添加 logger.py 文件句柄关闭机制
- 多语言支持完善
- 修复所有硬编码中文字符串
- 完整的中英文翻译支持
- 添加翻译键缺失警告功能
- CLI 参数帮助信息国际化
- API 错误消息国际化
- 启动横幅和日志消息国际化
MLSharp Version 2.20.1425
日志与错误处理增强 02.20.1425
- 添加多语言支持 - 添加英文版翻译及应用多语言支持
- 日志样式提升 - 增加彩色输出、图标和详细上下文信息(文件名、函数名、行号)
- 多样化日志方法 - 添加
styled_section,progress_info,performance,gpu_info,cache_info等新方法 - 错误处理增强 - 改进所有空
except:子句,替换为具体异常处理 - 文件操作稳定性 - 增强文件保存、加载、重命名操作的错误处理和恢复机制
- 模型加载保护 - 增加模型加载、图像处理、PLY保存等关键操作的错误恢复
- Webhook 弹性 - 改进 Webhook 通知的错误处理,失败不影响主流程
- 缓存操作保护 - 增加 Redis 和本地缓存操作的错误处理,失败时优雅降级
- 显存管理优化 - 改进显存不足错误的处理,提供更友好的错误信息和解决方案
MLSharp Versioin 2.20.1259
This is a stable version 02.20.1259
稳定性增强与 Bug 修复 02.20.1259
- 输入验证修复 - 修复
validate_input_size函数在日志系统初始化前调用问题 - 文件操作改进 - 添加 PLY 文件重命名操作的异常处理,提高文件操作容错性
- 目录清理优化 - 改进临时目录清理操作的异常处理,提供更好的错误信息
- 日志系统改进 - 统一 GPU 监控循环的日志记录方式,保持日志格式一致性
- 启动脚本修复 - 移除 Start.ps1 中的硬编码 IP 地址,提高可移植性
- 资源管理优化 - 改进临时文件和资源的清理机制,防止资源泄漏
- 测试覆盖 - 增加对稳定性的测试用例,确保关键功能的稳定性
MLSharp Verison 2.5.1914
代码健康检查与修复 02.05.1914
- 代码质量提升 - 修复未使用的 ProcessPoolExecutor,优化资源使用
- Pydantic v2 更新 - 更新到 Pydantic v2 语法,使用 @field_validator 替代 @validator
- 资源管理优化 - 添加 cleanup() 方法,确保 GPU 监控线程和 Webhook 客户端正确关闭
- Redis 连接管理 - 添加 del 方法,自动关闭 Redis 连接
- 测试文件添加 - 新增 test_app.py,包含核心功能测试
- 测试脚本更新 - 更新 run_tests.bat 和 run_tests.ps1,支持 Windows 和 PowerShell
- 测试覆盖 - 模块导入、配置验证、GPU 检测、监控指标等核心功能
- 测试结果 - 所有测试通过 (4/4)
- 新格式 - 采用 [Month].[Day].[HHMM] 格式(例如:02.05.1900)
- 说明 - 月份.日期.时分(24小时制)
MLsharp Verison 2.3.1851
Snapdragon GPU 适配 v10.1
- 主分支移除 Adreno GPU 支持 - 移除 Snapdragon/Adreno 系列 GPU 支持
MLsharp Version 2.1.1937
GPU 内存自动回收
- 内存信息查询 - 实时获取 GPU 显存使用情况(总量、已用、可用、使用率)
- 缓存清理 - 自动清理 PyTorch 预留但未使用的显存
- 强制垃圾回收 - 完整的垃圾回收流程(清理缓存 → 同步 GPU → Python GC → 再次清理)
- 智能内存回收 - 当显存使用率超过阈值时自动清理(默认 85%)
- 自动内存监控 - 后台线程定期检查并自动清理显存(默认每 30 秒)
- 命令行参数 - 支持
--enable-auto-gc、--auto-gc-interval、--auto-gc-threshold等参数 - 配置文件支持 - 在 config.yaml 中配置内存回收策略
- 性能优化 - 防止显存泄漏,提高系统稳定性
- 日志记录 - 详细的内存清理日志,便于调试
MLsharp Version 1.31.1931
Snapdragon GPU 适配 v9.1
- Adreno GPU 检测 - 自动检测 Snapdragon/Adreno 系列 GPU
- Qualcomm 模式 - 新增
--mode qualcomm启动模式 - ONNX Runtime 支持 - 添加 ONNX Runtime + DirectML 加速方案
- 智能回退 - 检测到 Snapdragon GPU 时自动使用 CPU 模式
- 平台支持 - Windows/Android 平台识别
- 文档更新 - 添加 Snapdragon GPU 支持说明和限制
MLsharp Version 1.31.1310
分布式缓存与异步通知 v9.0
- Redis 缓存 - 实现基于 Redis 的分布式缓存支持
- Webhook 通知 - 添加异步 Webhook 通知功能
- 任务完成通知 - 支持 task_completed 和 task_failed 事件
- 缓存增强 - 支持 Redis 和本地缓存混合使用
- Webhook API - 添加 Webhook 注册和管理 API
- 新增依赖 - pydantic、redis、httpx
- 项目完成度 - 从 98% 提升到 100%
API 文档与版本控制 v8.0
- API 版本控制 - 实现基于 APIRouter 的版本控制(v1)
- Pydantic 数据验证 - 添加完整的请求/响应数据模型验证
- 统一错误响应 - 实现标准化的错误响应格式和异常处理器
- Swagger/OpenAPI - 自动生成交互式 API 文档
- API 文档完善 - 添加完整的 API 使用文档和客户端示例
- 项目完成度 - 从 96% 提升到 98%
MLsharp Version 1.29.2156
🚀 性能自动调优 v7.5
- ✅ 智能基准测试 - 自动测试多种优化配置组合
- ✅ 最优配置选择 - 根据测试结果自动选择最佳配置
- ✅ 显卡适配 - 根据显卡能力自动过滤不适用的配置
- ✅ 快速测试 - 使用小尺寸快速完成测试(约10秒)
- ✅ 详细日志 - 输出完整的测试过程和结果
- ✅ 性能提升 - 相对于无优化配置提升 30-50%
- ✅ 命令行支持 - 通过
--enable-auto-tune参数启用
🚀 推理缓存 v7.4
- ✅ 推理缓存功能 - 缓存相似图像的推理结果,避免重复计算
- ✅ 智能哈希 - 基于图像内容和焦距生成缓存键
- ✅ LRU 淘汰 - 最近最少使用算法自动淘汰旧缓存
- ✅ 统计监控 - 实时缓存命中率、命中/未命中次数统计
- ✅ API 端点 - 提供
/api/cache和/api/cache/clear端点 - ✅ 可配置 - 支持命令行参数和配置文件控制
- ✅ 默认开启 - 显著提升重复场景的处理速度(90%+)
MLsharp Version 1.29.1314
🚀 梯度检查点 v7.3
- ✅ 梯度检查点功能 - 减少显存占用 30-50%
- ✅ 智能内存优化 - 通过重新计算中间激活值节省显存
- ✅ 可配置选项 - 支持命令行参数和配置文件
- ✅ 默认关闭 - 不影响正常使用,按需启用
- ✅ 详细文档 - 乐观化方案文档
🚀 监控指标 v7.2
- ✅ Prometheus 集成 - 完整的 Prometheus 指标支持
- ✅ 性能监控 - HTTP 请求、预测请求、响应时间统计
- ✅ GPU 监控 - 实时 GPU 内存使用量和利用率监控
- ✅ 任务追踪 - 活跃任务数和各阶段耗时统计
- ✅ 配置支持 - 通过配置文件控制监控功能
🚀 输入尺寸参数 v7.1
- ✅ 输入尺寸参数 - 支持自定义推理输入尺寸(默认:1536x1536)
- ✅ 自动验证 - 自动验证并调整输入尺寸以符合模型要求
- ✅ 智能约束 - 确保尺寸能被 64 整除且宽高相等
- ✅ 最大限制 - 最大支持 1536x1536,避免 SPN 编码器补丁分割错误
- ✅ 配置文件支持 - 通过 config.yaml 或 config.json 配置输入尺寸