kedro-mlflow 项目教程
1. 项目的目录结构及介绍
kedro-mlflow/
├── conf/
│ ├── base/
│ │ ├── catalog.yml
│ │ ├── credentials.yml
│ │ ├── logging.yml
│ │ └── mlflow.yml
│ └── local/
│ ├── catalog.yml
│ ├── credentials.yml
│ └── mlflow.yml
├── data/
│ ├── 01_raw/
│ ├── 02_intermediate/
│ ├── 03_primary/
│ ├── 04_feature/
│ ├── 05_model_input/
│ ├── 06_models/
│ ├── 07_model_output/
│ └── 08_reporting/
├── docs/
├── logs/
├── notebooks/
├── src/
│ ├── kedro_mlflow/
│ │ ├── hooks.py
│ │ ├── pipeline.py
│ │ └── __init__.py
│ └── tests/
├── .gitignore
├── README.md
├── requirements.txt
└── setup.py
目录结构介绍
conf/
: 配置文件目录,包含基础配置和本地配置。base/
: 基础配置文件,如数据目录、日志配置、MLflow 配置等。local/
: 本地配置文件,通常包含敏感信息如凭证。
data/
: 数据目录,按照数据处理的阶段划分。docs/
: 文档目录,存放项目文档。logs/
: 日志目录,存放运行日志。notebooks/
: Jupyter 笔记本目录,用于数据探索和实验。src/
: 源代码目录,包含项目的主要代码和测试代码。kedro_mlflow/
: 项目主要代码。tests/
: 测试代码。
.gitignore
: Git 忽略文件配置。README.md
: 项目说明文档。requirements.txt
: 项目依赖文件。setup.py
: 项目安装脚本。
2. 项目的启动文件介绍
setup.py
setup.py
是 Python 项目的标准安装脚本,用于定义项目的元数据和依赖关系。通过运行 pip install -e .
可以安装项目及其依赖。
from setuptools import setup, find_packages
setup(
name="kedro-mlflow",
version="0.1.0",
description="A Kedro plugin for lightweight and portable integration of MLflow capabilities",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
author="Your Name",
author_email="your.email@example.com",
url="https://github.com/Galileo-Galilei/kedro-mlflow",
packages=find_packages(),
install_requires=[
"kedro>=0.16.0",
"mlflow>=1.0.0",
],
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
],
)
3. 项目的配置文件介绍
conf/base/mlflow.yml
mlflow.yml
是 MLflow 的配置文件,用于定义 MLflow 跟踪服务器的 URL 和其他相关配置。
mlflow:
tracking:
uri: "http://localhost:5000"
experiment:
name: "default"
conf/base/catalog.yml
catalog.yml
是 Kedro 的数据目录配置文件,用于定义数据集的存储和加载方式。
example_dataset:
type: pandas.CSVDataSet
filepath: data/01_raw/example.csv
load_args:
sep: ","