(可选)单元 3: 代码准备¶
如果已安装 2.3 更新 1,可略过此单元。
下载代码文件¶
选择
下载参考代码
,将代码文件保存到本地并解压。教程概览 的整体架构图描述了整个任务流的设计思路,其中应用算子时会使用到代码来模拟实际使用场景、模型训练、预测和回写预测结果等等。以下为本教程使用到的代码清单。
编号
代码名称
代码功能描述
1
check_hive_config.py
检查当前 OU 下是否有可被写入预测值的 Hive 库。
2
generate_model_list.py
产生一个循环训练的列表。实际场景里可能是风场的清单或风机的清单列表,ParallelFor算子在接收列表后会针对每个 item 做并发的模型训练或预测。
3
generate_random_int.py
产生一个1-10之间的随机数,用于模拟数据到达的场景。本教程的设定是当随机数<5时认为原始数据准备完毕。此处可以使用数据真实的场景,也可以模仿本教程在数据准备完成以后设定一个标识,表示数据已到达,可以进行后续的特征工程和模型训练。
4
generate_variables.py
生成算子中使用的路径。
5
get_latest_model_version.py
获取某模型下最新的模型版本信息。
6
prepare_data.py
获取原始数据,并根据设置的 sample_split_ratio 以不同比例分割训练集和测试集。
7
prepare_predict_data.py
模拟对预测数据的加工和预处理。
8
prepare_train_data.py
模拟对训练数据的加工和预处理。实际场景里可以在这个算子里做更复杂的任意处理逻辑,特征工程可以考虑封装到 Mlflow 的模型里,也可以放在数据预处理的操作里。
9
train_model.py
模型训练文件。通过特定算法基于训练数据训练生成 Mlflow 模型供后续预测使用。
10
write_results.py
将预测结果保存为 csv 文件以便后续保存至 Hive 库。
11
requirements1.txt
python包依赖文件
12
requirements2.txt
python包依赖文件
上传代码文件¶
本教程中使用的 PythonEx 算子需要将代码文件上传到内部存储。
登录 EnOS 控制台,从左侧导航栏中选择 智能工作室 > 智能实验室。
选择 新建实例,输入实例的名称(winddemoinstance)并选择 wind-demo-instance 作为工作空间存储。
选择实例名称进入 JupyterLab 环境。选择 New Folder 图标创建一个名为“wind_demo”的文件夹然后选择 Upload Files 图标将解压后的代码文件上传至此文件夹。
打开一个 Terminal 并运行
pip install eap-notebook
命令安装 eap-notebook 包。运行
eap-notebook push -p wind_demo
命令上传代码文件。