12. BgoFace:Bgolearn 的图形用户界面#

备注

BgoFace 是 Bgolearn 平台的图形用户界面(GUI)组件,旨在为用户提供一种直观高效的方式来与 Bgolearn 进行材料设计和优化交互。

12.1. 概述#

BgoFace 作为 Bgolearn 的用户界面,使平台更易于访问和用户友好。通过 BgoFace,用户可以轻松创建优化任务、监控实时进度,并使用内置工具可视化结果。设计注重清晰度和交互性,使用户能够专注于优化任务,而无需担心技术复杂性。

为什么选择 BgoFace?

BgoFace 通过以下方式弥合实验和计算领域之间的差距:

  • 简化复杂工作流程 - 无需编码

  • 提供直观控制 - 所有操作的可视化界面

  • 集成实验约束 - 内置现实世界的限制

  • 实现无缝访问 主动学习算法

  • 赋能材料探索 无需深厚的机器学习专业知识

12.2. 主要特性#

12.2.1. 仪表板#

概览面板:提供正在进行的优化任务的快照,包括:

  • 任务状态和进度指示器

  • 关键性能指标

  • 结果的可视化摘要

  • 实时更新

12.2.2. 优化管理#

任务监控

  • 实时跟踪优化进度

  • 中间结果显示

  • 模型性能指标

  • 自动通知和警报

结果分析

  • 用于分析优化结果的综合工具

  • 数值和图形解释

  • 导出功能以进行进一步分析

12.2.3. 可视化工具#

内置绘图界面

  • 用于数据探索的散点图

  • 用于收敛分析的折线图

  • 用于特征重要性的条形图

  • 多目标问题的帕累托前沿可视化

  • 响应景观的 3D 曲面图

数据导出选项

  • 用于出版物的 PNG/PDF 格式

  • 用于数据分析的 CSV/Excel

  • 交互式 HTML 图

  • 用于演示的高分辨率图像

12.3. 架构#

BgoFace 遵循模块化架构,将用户界面与计算后端分离:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   用户输入      │───▶│   BgoFace GUI   │───▶│  Bgolearn 核心  │
│                 │    │                 │    │                 │
│ • 参数          │    │ • 任务管理器    │    │ • 优化          │
│ • 数据上传      │    │ • 可视化器      │    │ • ML 模型       │
│ • 约束          │    │ • 结果查看器    │    │ • 算法          │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │                        │
                              ▼                        ▼
                       ┌─────────────────┐    ┌─────────────────┐
                       │   文件系统      │    │   计算          │
                       │                 │    │                 │
                       │ • 数据存储      │    │ • 模型训练      │
                       │ • 结果缓存      │    │ • 预测          │
                       │ • 导出文件      │    │ • 优化          │
                       └─────────────────┘    └─────────────────┘

12.4. 安装和设置#

12.4.1. 选项 1:下载预构建应用程序(推荐)#

对于 Windows 用户,最简单的入门方式:

  1. 访问发布页面BgoFace Releases

  2. 下载最新版本:在最新版本中查找 .exe 文件

  3. 运行应用程序:无需安装 - 只需双击运行!

系统要求

  • 操作系统:Windows 10 或更高版本

  • 内存:最低 4GB RAM,推荐 8GB

  • 存储:500MB 可用空间

  • 显示:最低分辨率 1024x768

12.4.2. 选项 2:从源代码构建#

对于想要自定义 BgoFace 的开发者或用户:

12.4.2.1. 先决条件#

# Install required packages
pip install PyQt5 pyinstaller Bgolearn

12.4.2.2. 克隆和设置#

# Clone the repository
git clone https://github.com/Bgolearn/BgoFace.git
cd BgoFace

# Install dependencies
pip install -r requirements.txt

# Run from source
python main.py

12.4.2.3. 构建可执行文件#

# Create standalone executable
pyinstaller -F -w --add-data "Images;Images" main.py

# The executable will be in the dist/ folder

PyInstaller 选项说明

  • -F:将所有内容打包到单个文件中

  • -w:抑制控制台窗口(仅 GUI)

  • --add-data:包含额外的资源,如图像

12.5. 用户界面指南#

12.5.1. 主仪表板#

主仪表板提供优化项目的概览:

# Example: Starting a new optimization project
# 1. Click "New Project" button
# 2. Select optimization type (Single/Multi-objective)
# 3. Upload your dataset
# 4. Configure parameters
# 5. Start optimization

仪表板组件

  • 项目列表:所有优化项目

  • 快速操作:开始新优化、导入数据

  • 最近结果:最新的优化结果

  • 系统状态:内存使用、计算状态

12.5.2. 数据管理#

数据上传界面

  • 拖放 CSV 文件上传

  • 数据预览和验证

  • 特征选择和目标定义

  • 数据预处理选项

支持的数据格式

# Example dataset format
Feature1,Feature2,Feature3,Target
2.0,1.2,0.5,250
3.5,0.8,0.7,280
1.8,1.5,0.3,240

12.5.3. 优化配置#

单目标设置

  1. 选择目标:选择要优化的属性

  2. 选择模型:高斯过程、随机森林等

  3. 设置参数:采集函数、迭代次数

  4. 定义约束:成分限制、加工范围

  5. 配置虚拟空间:用于评估的候选点

多目标设置

  1. 选择多个目标:选择 2-6 个目标

  2. 设置优化方向:最大化/最小化每个目标

  3. 选择 MOBO 算法:EHVI、PI 或 UCB

  4. 配置帕累托分析:参考点、权重

12.5.4. 实时监控#

进度跟踪

  • 优化迭代计数器

  • 当前最佳值

  • 收敛图

  • 剩余时间估计

实时可视化

  • 采集函数景观

  • 模型预测与实际值

  • 帕累托前沿演化(多目标)

  • 特征重要性更新

12.5.5. 结果分析#

综合结果视图

  • 摘要统计:最佳值、改进指标

  • 详细表格:所有评估点及预测

  • 交互式图表:缩放、平移和探索结果

  • 导出选项:保存图表、数据和报告

12.6. 实际示例#

12.6.1. 示例 1:合金成分优化#

场景:优化 Al-Cu-Mg 合金以获得最大强度

BgoFace 中的步骤

  1. 创建新项目

    • 项目名称:“Al-Cu-Mg 强度优化”

    • 类型:单目标

    • 目标:最大化强度

  2. 上传训练数据

    Cu,Mg,Si,Strength
    2.0,1.2,0.5,250
    3.5,0.8,0.7,280
    1.8,1.5,0.3,240
    4.2,0.9,0.8,290
    
  3. 配置优化

    • 特征:Cu、Mg、Si(成分百分比)

    • 目标:强度(MPa)

    • 模型:高斯过程

    • 采集:期望提升

    • 约束:Cu+Mg+Si < 7%

  4. 定义虚拟空间

    • Cu 范围:1.5-4.5%

    • Mg 范围:0.7-1.6%

    • Si 范围:0.2-1.0%

    • 生成 1000 个候选成分

  5. 运行优化

    • 实时监控进度

    • 查看采集函数景观

    • 跟踪收敛

  6. 分析结果

    • 最佳成分:Cu=3.8%、Mg=1.0%、Si=0.6%

    • 预测强度:295 MPa

    • 导出推荐以进行实验验证

12.6.2. 示例 2:多目标热处理#

场景:优化热处理以获得硬度和韧性

BgoFace 中的步骤

  1. 创建多目标项目

    • 目标:最大化硬度、最大化韧性

    • 算法:EHVI

  2. 上传工艺数据

    Temperature,Time,Cooling_Rate,Hardness,Toughness
    450,2,10,180,45
    500,4,20,220,35
    550,6,15,250,25
    
  3. 配置参数

    • 特征:温度(°C)、时间(小时)、冷却速率(°C/min)

    • 目标:硬度(HV)、韧性(J)

    • 约束:400°C ≤ 温度 ≤ 600°C

  4. 运行多目标优化

    • 监控帕累托前沿演化

    • 查看权衡分析

    • 跟踪超体积改进

  5. 分析帕累托解

    • 探索硬度和韧性之间的权衡

    • 根据要求选择首选解决方案

    • 导出多个推荐

12.7. 高级功能#

12.7.1. 约束处理#

内置约束类型

  • 成分约束:总和限制、比率约束

  • 加工约束:温度/压力范围

  • 自定义约束:用户定义的数学表达式

约束定义界面

# Example constraint definitions in BgoFace
constraints = {
    "composition_sum": "Cu + Mg + Si <= 7.0",
    "temperature_range": "400 <= Temperature <= 600",
    "cu_mg_ratio": "1.5 <= Cu/Mg <= 4.0"
}

12.7.2. 批量优化#

并行实验设计

  • 选择多个点进行同时评估

  • 批量采集函数(q-EI、q-UCB)

  • 资源分配优化

  • 实验规划工具

12.7.3. 模型比较#

自动模型选择

  • 比较多个代理模型

  • 交叉验证性能指标

  • 模型不确定性可视化

  • 自动最佳模型选择

12.7.4. 导出和报告#

综合导出选项

  • PDF 报告:完整的优化摘要

  • Excel 工作簿:数据表和图表

  • Python 脚本:以编程方式重现分析

  • 演示幻灯片:即用型图形

12.8. 与 Bgolearn 集成#

BgoFace 与 Bgolearn 生态系统无缝集成:

12.8.1. 代码生成#

自动脚本生成

  • BgoFace 生成等效的 Python 代码

  • 用户可以以编程方式重现结果

  • 从 GUI 轻松过渡到脚本

# Example generated code from BgoFace
from Bgolearn import BGOsampling

# Initialize optimizer
opt = BGOsampling.Bgolearn()

# Configuration from BgoFace
model = opt.fit(
    data_matrix=data_matrix,
    Measured_response=measured_response,
    virtual_samples=virtual_samples,
    Mission='Regression',
    Classifier='GaussianProcess',
    opt_num=1,
    min_search=False,
    CV_test=10,  # 10-fold cross-validation
    Normalize=True
)

12.8.2. 数据同步#

无缝数据流

  • 从 Bgolearn 项目导入数据

  • 将结果导出为 Bgolearn 格式

  • 保持数据一致性

  • 版本控制集成

12.9. 最佳实践#

12.9.1. 项目组织#

  1. 使用描述性名称:清晰的项目和文件名

  2. 记录参数:添加注释以供将来参考

  3. 保存中间结果:定期检查点

  4. 按材料系统组织:分组相关项目

12.9.2. 数据质量#

  1. 验证输入数据:检查异常值和错误

  2. 足够的训练数据:每个特征 >10 个样本

  3. 代表性采样:很好地覆盖设计空间

  4. 质量控制:删除实验错误

12.9.3. 优化策略#

  1. 从简单开始:从单目标问题开始

  2. 验证模型:使用交叉验证

  3. 检查收敛:监控优化进度

  4. 实验验证:始终测试推荐

12.10. 故障排除#

12.10.1. 常见问题#

应用程序无法启动

  • 检查系统要求

  • 以管理员身份运行(Windows)

  • 验证杀毒软件设置

  • 下载最新版本

数据导入问题

  • 检查 CSV 格式和编码

  • 验证列标题

  • 删除特殊字符

  • 确保数字数据类型

优化失败

  • 减少虚拟空间大小

  • 检查约束定义

  • 验证数据质量

  • 尝试不同的代理模型

性能问题

  • 关闭其他应用程序

  • 减少数据集大小

  • 使用更简单的模型

  • 增加可用内存

12.10.2. 获取帮助#

支持资源

社区

  • 讨论论坛:分享经验和技巧

  • 示例项目:下载示例数据集

  • 最佳实践:向其他用户学习

12.11. 未来发展#

12.11.1. 计划功能#

版本 2.0 路线图

  • 云集成:远程计算支持

  • 协作功能:多用户项目

  • 高级可视化:3D 交互式图表

  • 机器学习:自动超参数调整

  • 集成:连接实验设备

社区贡献

  • 自定义算法的插件系统

  • 常见材料的模板库

  • 共享项目仓库

  • 教育资源

12.12. 引用和许可#

12.12.1. 学术使用#

如果您在研究中使用 BgoFace,请引用:

@article{li2025optimize,
  title={Optimize the quantum yield of G-quartet-based circularly polarized luminescence materials via active learning strategy-BgoFace},
  author={Li, Tianliang and Chen, Lifei and Cao, Bin and Liu, Siyuan and Lin, Lixing and Li, Zeyu and Chen, Yingying and Li, Zhenzhen and Zhang, Tong-yi and Feng, Lingyan},
  journal={Materials Genome Engineering Advances},
  volume={3},
  number={3},
  pages={e70031},
  year={2025},
  publisher={Wiley Online Library}
}

12.12.2. 许可#

仅限学术和研究使用

  • ✅ 学术研究和教育

  • ✅ 非商业科学研究

  • ✅ 开源贡献

  • ❌ 商业应用

  • ❌ 专有软件集成

  • ❌ 创收活动

版权:© 2024 Bgolearn 开发团队。保留所有权利。

开发团队

  • 首席开发者:曹斌(香港科技大学(广州))

  • UI 开发:刘思远(同济大学),曹斌(香港科技大学(广州))

  • 指导:张统一教授(上海大学),冯凌燕教授(上海大学)

12.13. 下一步#

准备开始使用 BgoFace?以下是接下来要做的事情:

  1. 下载 BgoFace:从 GitHub Releases 获取最新版本

  2. 观看教程:遵循视频指南

  3. 尝试示例:从包含的示例项目开始

  4. 加入社区:与其他用户和开发者联系

  5. 探索高级功能:了解多目标优化和约束

参见

相关文档: