项目简介
本项目结合Python和Faasit框架,搭建了一个机器学习管道,能实现数据下载、预处理、训练和测试等步骤的并行化与自动化,并以MNIST数据集展示其在分布式环境中的应用。同时,借助在线编辑工具vscode提供多个基于Runtime SDK开发的演示实例,可将Serverless函数部署到阿里云、Knative等多个平台。
项目的主要特性和功能
机器学习管道功能
- 数据下载:通过Python脚本从OpenML网站下载MNIST数据集并保存为本地文件。
- 数据预处理:对下载数据进行图像展平、归一化以及分割为训练集和测试集。
- 模型训练:使用预处理后的训练数据训练逻辑回归模型。
- 模型测试:加载训练好的模型,用测试数据评估模型并计算准确度。
- 并行处理:利用Faasit框架实现各步骤并行化,提高处理速度。
Serverless函数开发与部署功能
- 统一开发:基于Runtime SDK开发Serverless函数,统一不同云平台在Serverless函数开发方面的差异性。
- 多平台部署:使用部署描述文件,可将函数部署到阿里云、Knative等多个平台。
- 函数编排与持久化:支持多函数编排和状态持久化功能,基于录制回放模型确保长时运行函数编排的可靠性。
- 集成开发:可与其他课题集成,如实现影片评测Web项目的函数工作流。
安装使用步骤
机器学习管道部分
- 安装必要的库:安装Python、numpy、sklearn等库。
- 下载数据集:运行
data_fetch.py
脚本,从OpenML网站下载MNIST数据集并保存为本地文件。 - 运行机器学习管道:运行
index.py
中的mlpipe工作流
,开始处理流程。 - 查看结果:处理完成后,在输出中查看模型的准确度等信息。
Serverless函数部署部分
演示Helloworld
- 切换到目录:
cd ~/projects/demo/helloworld
- 查看函数代码文件:
code ~/projects/demo/helloworld/code/index.py
- 查看部署描述文件:
code ~/projects/demo/helloworld/main.ft
- 部署到阿里云平台:
ft deploy -p Aliyun
- 部署到knative平台:
ft deploy -p Knative
- 调用阿里云上的函数:
ft invoke -p Aliyun
演示demo-durable-py
- 切换到目录:
cd ~/projects/demo/demo-durable-py
- 查看代码文件:
code ~/projects/demo/demo-durable-py/code/index.py
- 运行函数:
ft run
集成部分(以MovieReview为例)
- 切换到目录:
cd ~/projects/demo/demo-MovieReview
- 运行函数:
ft run
注:以上步骤假设用户已经下载了本项目的源码文件,并安装了必要的库。由于项目使用了Faasit框架,还需要在运行时环境中配置相应的参数和依赖。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】