【问题标题】:Kedro, running inference on user inputKedro,对用户输入进行推理
【发布时间】:2023-02-12 03:35:52
【问题描述】:

我有一个包含我要使用的模型的管道。在项目之外,我有一个 app.py 文件,我将在其中为我的用户创建 UI/UX 以运行我的模型。现在我只是使用一个示例字符串,但稍后,您可以想象会有一个文本框供用户输入。

如何将用户输入作为输入传递给管道?我虽然可以使用 kedro.framework.session.session.KedroSession 执行此操作,如下面的代码所示,但这样做会导致错误 ValueError: Pipeline input(s) {'user-input'} not found in the DataCatalog

from kedro.framework.session import KedroSession
from kedro.framework.startup import bootstrap_project
from kedro.io import MemoryDataSet
import os

bootstrap_project("<project path>")

user_input = "this is a sample text"
user_input = MemoryDataSet(user_input)


with KedroSession.create("project") as session:
    output = session.run(
        "nlp-pipeline", 
        from_inputs={
            "user-input": user_input
        }
    )

print(output)

【问题讨论】:

    标签: python kedro mlops


    【解决方案1】:

    您可能出于某些原因获得 ValueError,例如。您没有正确传递目录。请尝试docs

    如果您在 Kedro 项目之外创建会话(即不使用 kedro runkedro jupyter),你需要运行bootstrap_project来 让 Kedro 找到您的配置。

    from kedro.framework.session import KedroSession
    from kedro.framework.startup import bootstrap_project
    from pathlib import Path
    
    
    bootstrap_project(Path("<project_root>"))
    with KedroSession.create() as session:
        session.run()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2013-04-23
      • 2020-11-17
      • 2012-04-23
      相关资源
      最近更新 更多