【问题标题】:Is it possible to import custom source files into Kubeflow components?是否可以将自定义源文件导入 Kubeflow 组件?
【发布时间】:2022-10-06 15:25:08
【问题描述】:

我知道 Kubeflow 只使用要安装的指定库修改容器。但我想在管道的培训组件部分使用我的自定义模块。

所以让我澄清一下我的情况;我正在部署一个存在预处理和训练步骤的 GCP Vertex AI 管道。还有我使用 scikit 等库创建的自定义库。我的主要问题是我想在训练步骤中重新使用该库对象,如下所示;

    packages_to_install = [
        \"pandas\",
        \"sklearn\",
        \"mycustomlibrary?\"
    ],
)
def train_xgb_model(
    dataset: Input[Dataset],
    model_artifact: Output[Model]
):
    
    from MyCustomLibrary import XGBClassifier
    import pandas as pd
    
    data = pd.read_csv(dataset.path)

    model = XGBClassifier(
        objective=\"binary:logistic\"
    )
    model.fit(
        data.drop(columns=[\"target\"]),
        data.target,
    )

    score = model.score(
        data.drop(columns=[\"target\"]),
        data.target,
    )

    model_artifact.metadata[\"train_score\"] = float(score)
    model_artifact.metadata[\"framework\"] = \"XGBoost\"
    
    model.save_model(model_artifact.path)``` 

    标签: kubeflow google-cloud-vertex-ai kubeflow-pipelines


    【解决方案1】:

    一种选择是将您的自定义模块烘焙到自定义容器映像中。然后,您可以将您的客户图像用于组件:

    @component(
        base_image='gcr.io/my-custom-image',
        packages_to_intall = [
            "pandas",
            "sklearn",
        ],
    )
    def train_xgb_model(...):
        ...
    

    事实上,如果您走这条路,您可能还想将pandassklearn 烘焙到您的自定义容器中。

    替代方案包括将您的 mycustomlibrary 托管在 Internet 上的某个位置,例如,它可以是 GitHub 存储库。然后你可以按如下方式安装它:

    @component(
        packages_to_intall = [
            "pandas",
            "sklearn",
            "git+https://my-repo/mycustomlibrary.git",
        ],
    )
    def train_xgb_model(...):
        ...
    

    请注意,packages_to_install 中指定的内容将传递给pip install 命令。 pip 允许从各种来源安装。例如: https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-from-vcs

    【讨论】:

      猜你喜欢
      • 2021-07-17
      • 2012-03-20
      • 2013-11-11
      • 2014-10-26
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      相关资源
      最近更新 更多