首页 / 资讯中心 / 文章详情

AI工艺自动调整项目实现第2讲:完成项目1

AI工艺自动调整项目实现第2讲:完成项目1 ★ FEATURED ARTICLE
一、CodeXAI编程新王Codex详细攻略,一期视频精通,附免费使用方法_哔哩哔哩_bilibili(2026年2月最新版)Codex Codex CLI 国内使用教程: 支付注册、安装配置、常见命令,手把手教学! | 小林coding | Java面试学习自己的电脑安装在D盘:D:\Nodejs\node_global配置文件config.toml在:C:\Users\33651\.codex1、安装MCP法1:对话让Codex安装Codex MCP 服务器安装全攻略:接入 context7 与 chrome-devtools - WenHaoFree法2手动编辑 Codex 配置文件 (config.toml)2、让CodeX生成项目代码示例一、项目目标 请帮我构建一个工业AI工艺优化系统(Python工程),实现以下能力: 基于 .xlsx 工艺数据训练模型 建立 工艺参数(温度/压力/流量等) → 质量结果(膜厚/方阻) 的映射模型 自动分析哪些参数对结果影响最大 自动推荐最优工艺参数组合 支持模型持续学习(新数据自动优化模型) 👉 本质是一个: 数据驱动的工艺优化系统(AI Process Optimization System) 二、系统整体架构 请按以下模块化架构生成代码: 数据层 → 特征工程 → 模型层 → 优化层 → 服务层 详细说明: 1️⃣ 数据层(Data Layer) 输入:xlsx文件 内容: 温度(多温区) 压力 流量 时间 质量指标(目标值) 2️⃣ 数据处理与特征工程(Feature Engineering) 实现: 缺失值处理 异常值过滤 特征构造(必须包含): 温度均值 温差 压力×温度 滑窗/统计特征(可选) 👉 说明:工艺参数与质量通常是强非线性关系 3️⃣ 模型层(Machine Learning) 实现回归模型: 优先使用: XGBoost(主模型) RandomForest(备选) 功能: 训练模型 预测质量 模型评估(R2 / MAE) 👉 原理:通过机器学习建立参数与质量的非线性映射 4️⃣ 优化层(Optimization Core) 实现: ✅ 贝叶斯优化(必须) 功能: 输入:目标(如最大膜厚/最小波动) 输出:最优参数组合 👉 原理: 用最少实验找到最优参数组合 5️⃣ 自学习模块(Online Learning) 实现: 增量训练(incremental learning) 支持新数据自动更新模型 功能: 新数据 → 模型更新 → 精度提升 👉 对应工业“持续优化”能力 6️⃣ 可解释性模块(Explainability) 实现: 特征重要性(feature importance) SHAP(推荐) 输出: 温度:影响最大 压力:次要 流量:中等 7️⃣ API服务层(Deployment) 使用: Flask / FastAPI 接口: ① 预测接口 POST /predict 输入: { "temp1": 700, "pressure": 1.2 } 输出: { "prediction": 123.4 } ② 优化接口 POST /optimize 输出: { "best_params": {...} } 三、项目目录结构(必须按这个生成) ai_process_optimization/ │ ├── data/ │ ├── raw/ │ ├── processed/ │ └── features/ │ ├── config/ │ └── config.yaml │ ├── src/ │ ├── data/ │ │ ├── loader.py │ │ ├── cleaner.py │ │ └── feature_engineering.py │ │ │ ├── models/ │ │ ├── train.py │ │ ├── predict.py │ │ └── update.py │ │ │ ├── optimization/ │ │ └── bayesian_opt.py │ │ │ ├── explain/ │ │ └── shap_analysis.py │ │ │ ├── api/ │ │ └── app.py │ │ │ └── utils/ │ ├── models_store/ ├── notebooks/ ├── main.py ├── requirements.txt └── README.md 四、核心流程(必须实现) 读取xlsx数据 数据清洗 特征工程 训练模型 预测质量 优化参数(贝叶斯) 输出推荐参数 保存模型 新数据 → 增量学习 五、关键技术要求 必须包含: pandas(数据处理) scikit-learn(基础建模) xgboost(主模型) scikit-optimize(贝叶斯优化) shap(可解释性) flask(API) 六、工程要求 代码必须可运行(无伪代码) 每个模块独立 支持扩展(工业级结构) 提供示例数据格式说明 提供运行说明(README) 按照这个说明生成完整Python工程代码(所有文件)3、代码总逻辑理解自己写的理解,在下面这个文件里二、conda创建项目的环境,完成main.py命令行参数解析1、conda创建项目的环境PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】_哔哩哔哩_bilibili(99+ 封私信) 【小白-python】使用 Conda 优雅的为每一个项目创建它的环境 - 知乎环境安装在:D:\Anaconda_envs\envs\process_optimization在项目中配置Python解释器:最后,创建requirements.txt,如下图:2、main.py:argparse模块,完成命令行参数解析所有目录结构仿照一、的 ai_process_optimization,如下图参照下述链接,仿照上图的ai_process_optimization,完成命令行参数解析。argparse(argument parser)argument:参数parser:解析器(99+ 封私信) Python argparse 模块:命令行参数解析全攻略 - 知乎深度学习基础 | argparse 模块 | 命令行参数解析_哔哩哔哩_bilibili1为什么使用 argparse?在编写脚本时,如果不使用参数解析,修改超参数需要频繁更改代码,且函数传参时会导致代码臃肿。使用argparse可以实现:灵活传参:在终端命令行中直接指定超参数,无需修改源码。代码简洁:将多个参数打包成一个对象(Namespace),函数传参时只需传递该对象即可。2argparse 核心三步曲创建解析器:parser = argparse.ArgumentParser(description='项目描述')添加参数:parser.add_argument('参数名', ...)解析参数:args = parser.parse_args()(解析后的参数以对象属性的形式获取,如args.参数名)3核心功能与参数详解1》帮助信息(Help)项目描述:在ArgumentParser中通过description设置。参数说明:在add_argument中通过help='说明文本'设置。查看方式:在命令行运行python 脚本.py -h或--help即可自动生成并查看帮助文档。通过description设置项目描述,通过help设置参数说明。import argparse # 创建解析器并添加项目描述 parser = argparse.ArgumentParser(description='这是一个用于演示帮助信息的脚本') # 添加参数并设置说明文本 parser.add_argument('--name', type=str, help='请输入你的名字') # 解析参数 args = parser.parse_args()终端运行命令:python script.py -h输出结果:usage: script.py [-h] [--name NAME] 这是一个用于演示帮助信息的脚本 optional arguments: -h, --help show this help message and exit --name NAME 请输入你的名字上图输出结果的“NAME”是什么?参数长选项:--nameargparse 会去掉--,把名字转大写,作为这个参数值的占位标识 →NAME含义:--name后面需要跟一个值,NAME就代表「这里要填的内容」运行示例:python script.py --name Tom这里Tom就是帮助信息里那个NAME占位对应的实际值。2》参数的全称与缩写定义:add_argument('-tf', '--girlfriend', ...)使用:命令行中-tf和--girlfriend均可使用。⚠️ 注意:在代码中获取参数值时,只能使用全称(如args.girlfriend),使用缩写(如args.tf)会报错。定义缩写和全称,代码中只能使用全称获取值。import argparse parser = argparse.ArgumentParser(description='演示全称与缩写') # -tf 是缩写,--girlfriend 是全称 parser.add_argument('-tf', '--girlfriend', type=str, default='单身', help='你的女朋友') args = parser.parse_args() # ✅ 正确:使用全称获取 print(args.girlfriend) # ❌ 错误:使用缩写获取(会报 AttributeError: 'Namespace' object has no attribute 'tf') # print(args.tf)终端运行命令:# 使用缩写传参 python script.py -tf "Rose" # 或者使用全称传参 python script.py --girlfriend "Rose"输出结果:Rose3》位置参数(Positional Arguments)定义:参数名前不带-或--(如add_argument('food'))。特点:必填:如果不传值,程序会报错。按序赋值:命令行中直接写值,无需写参数名,且严格按照代码定义的顺序赋值。禁止加前缀:在命令行中给位置参数传值时,不能加--food,否则报错。参数名前不带-,必须按顺序传入,不能省略,且命令行中不能加前缀。import argparse parser = argparse.ArgumentParser(description='演示位置参数') # 不带 '-',这是一个位置参数 parser.add_argument('food', type=str, help='今天想吃的食物') args = parser.parse_args() print(f"今天吃:{args.food}")终端运行命令:# ✅ 正确:直接写值 python script.py pizza # ❌ 错误:加了前缀(会报错:unrecognized arguments: --food) # python script.py --food pizza输出结果:今天吃:pizza4》必填参数与默认值(default)必填可选参数:以--开头的参数默认是可选的,若设为必填,需添加required=True。默认值:通过default=值设置。若命令行未传该参数,则使用默认值。类型控制:通过type=int等指定参数类型,传入非该类型数据会报错。以--开头的参数默认是可选的,可通过required=True设为必填,通过default设置默认值。import argparse parser = argparse.ArgumentParser(description='演示必填参数与默认值') # 必填可选参数 parser.add_argument('--age', type=int, required=True, help='你的年龄') # 带默认值的可选参数 parser.add_argument('--city', type=str, default='北京', help='你的城市') args = parser.parse_args() print(f"年龄:{args.age},城市:{args.city}")终端运行命令:# 只传必填参数,city 使用默认值 python script.py --age 25输出结果:年龄:25,城市:北京5》布尔开关(Action)用法:action='store_true'或action='store_false'。特点:仅接受布尔值(True/False)。命令行中只需指定参数名,无需在后面跟具体的值(如--debug即可,不能写--debug True)。⚠️ 避坑指南:尽量不要同时使用action和default,以免产生逻辑冲突。使用action='store_true',命令行中只需写参数名,无需跟具体的值。import argparse parser = argparse.ArgumentParser(description='演示布尔开关') # 布尔开关 parser.add_argument('--debug', action='store_true', help='开启调试模式') args = parser.parse_args() print(f"调试模式是否开启:{args.debug}")终端运行命令:# 只需写 --debug,不需要跟 True python script.py --debug输出结果:调试模式是否开启:True6》变量重命名(dest)用法:add_argument('--no-warmup', dest='warmup')特点:命令行中使用--no-warmup,但在代码中必须通过args.warmup来获取该参数的值。使用dest参数,命令行中使用一个名字,代码中使用另一个名字获取值。import argparse parser = argparse.ArgumentParser(description='演示变量重命名') # 命令行中使用 --no-warmup,代码中使用 args.warmup parser.add_argument('--no-warmup', dest='warmup', action='store_true', help='取消预热') args = parser.parse_args() print(f"是否取消预热:{args.warmup}")终端运行命令:python script.py --no-warmup输出结果:是否取消预热:True4【重要】argparse子命令:parser.add_subparsers下述链接五、Python argparse 模块:命令行参数解析全攻略 - 知乎argparse --- 用于命令行选项、参数和子命令的解析器 — Python 3.14.7 文档5Debug 模式如何传参?在 IDE(如 PyCharm)中直接运行代码进行 Debug 时,无法通过终端传参。解决方法是在parse_args()
阅读完成 · 觉得有帮助?
咨询建站