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 用户,最简单的入门方式:
访问发布页面:BgoFace Releases
下载最新版本:在最新版本中查找
.exe文件运行应用程序:无需安装 - 只需双击运行!
系统要求
操作系统: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. 优化配置#
单目标设置:
选择目标:选择要优化的属性
选择模型:高斯过程、随机森林等
设置参数:采集函数、迭代次数
定义约束:成分限制、加工范围
配置虚拟空间:用于评估的候选点
多目标设置:
选择多个目标:选择 2-6 个目标
设置优化方向:最大化/最小化每个目标
选择 MOBO 算法:EHVI、PI 或 UCB
配置帕累托分析:参考点、权重
12.5.4. 实时监控#
进度跟踪:
优化迭代计数器
当前最佳值
收敛图
剩余时间估计
实时可视化:
采集函数景观
模型预测与实际值
帕累托前沿演化(多目标)
特征重要性更新
12.5.5. 结果分析#
综合结果视图:
摘要统计:最佳值、改进指标
详细表格:所有评估点及预测
交互式图表:缩放、平移和探索结果
导出选项:保存图表、数据和报告
12.6. 实际示例#
12.6.1. 示例 1:合金成分优化#
场景:优化 Al-Cu-Mg 合金以获得最大强度
BgoFace 中的步骤:
创建新项目
项目名称:“Al-Cu-Mg 强度优化”
类型:单目标
目标:最大化强度
上传训练数据
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
配置优化
特征:Cu、Mg、Si(成分百分比)
目标:强度(MPa)
模型:高斯过程
采集:期望提升
约束:Cu+Mg+Si < 7%
定义虚拟空间
Cu 范围:1.5-4.5%
Mg 范围:0.7-1.6%
Si 范围:0.2-1.0%
生成 1000 个候选成分
运行优化
实时监控进度
查看采集函数景观
跟踪收敛
分析结果
最佳成分:Cu=3.8%、Mg=1.0%、Si=0.6%
预测强度:295 MPa
导出推荐以进行实验验证
12.6.2. 示例 2:多目标热处理#
场景:优化热处理以获得硬度和韧性
BgoFace 中的步骤:
创建多目标项目
目标:最大化硬度、最大化韧性
算法:EHVI
上传工艺数据
Temperature,Time,Cooling_Rate,Hardness,Toughness 450,2,10,180,45 500,4,20,220,35 550,6,15,250,25
配置参数
特征:温度(°C)、时间(小时)、冷却速率(°C/min)
目标:硬度(HV)、韧性(J)
约束:400°C ≤ 温度 ≤ 600°C
运行多目标优化
监控帕累托前沿演化
查看权衡分析
跟踪超体积改进
分析帕累托解
探索硬度和韧性之间的权衡
根据要求选择首选解决方案
导出多个推荐
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. 项目组织#
使用描述性名称:清晰的项目和文件名
记录参数:添加注释以供将来参考
保存中间结果:定期检查点
按材料系统组织:分组相关项目
12.9.2. 数据质量#
验证输入数据:检查异常值和错误
足够的训练数据:每个特征 >10 个样本
代表性采样:很好地覆盖设计空间
质量控制:删除实验错误
12.9.3. 优化策略#
从简单开始:从单目标问题开始
验证模型:使用交叉验证
检查收敛:监控优化进度
实验验证:始终测试推荐
12.10. 故障排除#
12.10.1. 常见问题#
应用程序无法启动:
检查系统要求
以管理员身份运行(Windows)
验证杀毒软件设置
下载最新版本
数据导入问题:
检查 CSV 格式和编码
验证列标题
删除特殊字符
确保数字数据类型
优化失败:
减少虚拟空间大小
检查约束定义
验证数据质量
尝试不同的代理模型
性能问题:
关闭其他应用程序
减少数据集大小
使用更简单的模型
增加可用内存
12.10.2. 获取帮助#
支持资源:
用户手册:包含详细的 PDF 指南
视频教程:BiliBili 频道
GitHub Issues:报告错误和请求功能
电子邮件支持:联系开发团队
社区:
讨论论坛:分享经验和技巧
示例项目:下载示例数据集
最佳实践:向其他用户学习
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?以下是接下来要做的事情:
下载 BgoFace:从 GitHub Releases 获取最新版本
观看教程:遵循视频指南
尝试示例:从包含的示例项目开始
加入社区:与其他用户和开发者联系
探索高级功能:了解多目标优化和约束
参见
相关文档:
Bgolearn 入门指南 - 安装和设置 Bgolearn
MultiBgolearn:多目标贝叶斯全局优化 - 多目标优化
使用 Bgolearn 进行材料发现 - 材料发现示例
visualization - 高级绘图技术