(可选)单元 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 算子需要将代码文件上传到内部存储。

  1. 登录 EnOS 控制台,从左侧导航栏中选择 智能工作室 > 智能实验室
  2. 选择 新建实例,输入实例的名称(winddemoinstance)并选择 wind-demo-instance 作为工作空间存储。
  3. 选择实例名称进入 JupyterLab 环境。选择 New Folder 图标创建一个名为“wind_demo”的文件夹然后选择 Upload Files 图标将解压后的代码文件上传至此文件夹。
  4. 打开一个 Terminal 并运行 pip install eap-notebook 命令安装 eap-notebook 包。
  5. 运行 eap-notebook push -p wind_demo 命令上传代码文件。

下一单元


任务流设计