问题标签 [kedro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - kedro 错误:管道不包含名为 ['preprocess_companies'] 的节点
我正在关注 kedro 管道教程1,创建所有需要的文件,使用 kedro run --node=preprocess_companies 启动 kedro
它返回以下错误 ValueError:管道不包含名为 ['preprocess_companies'] 的节点。确实试图找到解决方案,但没有成功。感谢您的帮助!
我使用以下文件 3:
1) C:\Users\Name\tutorrr\src\tutorrr\pipelines\data_engineering\nodes.py
2 C:\Users\Name\tutorrr\src\tutorrr.pipeline.py
3)C:\Users\Name\tutorrr\src\tutorrr\pipelines\data_engineering\pipeline.py
这就是我收到的:
python - 是否有 IO 功能可以在 kedro 中存储经过训练的模型?
在kedro API 文档的 IO 部分中,我找不到存储训练模型的功能(例如.pkl
,、、、.joblib
)?我错过了什么吗?ONNX
PMML
python - 如何使用 kedro 从/向网络附加存储读取/写入数据?
在有关的 API 文档中kedro.io
,kedro.contrib.io
我找不到有关如何从/向网络附加存储(例如FritzBox NAS )读取/写入数据的信息。
installation - 从现有项目访问 Kedro CLI
我有一个现有项目,用git clone
.
之后我pip install kedro
可以正常运行kedro info
,但我似乎无法访问项目 CLI,例如,如果我尝试运行,则会kedro install
收到以下错误:
非常感谢有关如何为现有项目做的任何线索。
不确定这是否重要,但我在 docker 容器内的 conda 环境中工作。
visual-studio-code - 在 windows 下的 vscode 中的 kedro 项目中运行 jupyter lab 是不可能的
在我们的 Windows 10 机器上,我尝试在为 VSCode 配置的 Ubuntu 上设置 kedro 项目设置。在 Ubuntu 上,他们工作得很好。但是,如果我kedro jupyter lab
在 Windows 上的 VSCode 集成终端中运行,我会收到以下错误:
Python venv 位于<project-XXX>/.venv
并针对 Windows 调整设置 ( .vscode/settings.json
) 以指向正确的 Python 解释器和 venv:
venv 已.\.venv\Scripts\Activate.ps1
成功启动。顺便说一句:如果我jupyter lab
在 venv 中运行它就可以了。(尽管没有与 kedro 上下文等集成)
visual-studio-code - 如何将本地包依赖项导入 Kedro 笔记本?
我已将 Kedro 项目的包依赖项(轮子)放入<project-root>/deps/*.whl
目录中。我正在使用安装到<project-root>/.venv
并使用 Poetry 管理它的 venv。
包是这样引用的pyproject.toml
(这里是 eg local-package
):
可以在 REPL 会话中导入包:
python - 在 Kedro 的 load_context 的 extra_params 中传递嵌套参数
我正在尝试使用一些额外的参数加载 Kedro 上下文。我的意图是parameters.yml
仅使用传入的配置更新配置extra_params
(因此其余配置应保持不变)。然后我将使用这个上下文实例来运行一些节点/管道(注意:我不想修改parameters.yml
文件,只是为了这次运行更新它)。我可以为在顶层/根级别定义的每个配置执行此操作,parameters.yml
但在嵌套参数的情况下仅保留传递的配置。
为了复制这个问题,
参数.yml
额外参数定义为,
extra_params
使用by加载上下文,
上下文中的参数更新为,
需要注意的地方,
config_root1
处于根级别并且值已传入extra_params
,因此已更新。config_root2
处于根级别并且没有传递任何值,因此它保持不变。config_leaf1
处于叶级,因此通过的值已更新。config_leaf{2, 3}
处于叶子级别,因此没有传递任何值。
extra_params
除了总是传递所有参数(即使只需要更改少数参数)之外的任何解决方法?
谢谢你。
kedro - Kedro 是否支持检查点/结果缓存?
假设我们有多个长时间运行的管道节点。检查点或缓存中间结果似乎很简单,所以当检查点之后的节点被更改或添加时,只有这些节点必须再次执行。
Kedro 是否提供功能来确保当我运行管道时只执行那些已更改的步骤?反过来,有没有办法确保执行所有已更改的步骤?
假设一个产生一些中间结果的管道发生了变化,当我根据第一个输出执行管道时,它会被执行吗?
TL;DR: Kedro 是否makefile
对需要做什么和不做什么有类似的跟踪?
我认为我的问题类似于issue #341,但我不需要循环图的支持。
python - 基于数据集分区/迭代器逻辑的流水线执行动态实例
不确定这是否可能,但这是我想要做的: -
我想将函数的部分(步骤)提取为单个节点(到目前为止还可以),但要注意的是我在步骤顶部有一个迭代器,这取决于数据集上的一些逻辑,即重复相同的操作(它们是独立)在数据集的逻辑分区上。
示例代码
语境
- 在提供的示例中,假设当前我有一个执行所有步骤的节点。
- 所以当前管道有一个节点,它接受 1 个输入并返回 1 个输出。
- 随着我的步骤的复杂性增加,我想将它们作为单独的节点公开。所以我创建了另一个管道,将这 3 个步骤作为单独的节点并将它们连接在一起。(他们的输入和输出)
- 但是我的总体要求没有改变,我想遍历 中的所有值
list_of_numbers
,并且对于这个列表中的每个元素,我想调用这个新管道。最后,我想合并所有运行的输出并生成一个输出。
似乎有点类似于基于数据集扩展的动态图(管道的多个动态实例)。
需要考虑的其他要点,
- 我的输入是一个文件。假设我根据定义为节点的一些逻辑对数据集进行分区。所以这个节点可以有多个输出。(确切的计数完全取决于数据集,这里是列表的大小)
- 对于数据迭代器节点的每个输出,我需要“生成”一个管道。
- 最后,合并所有“衍生”管道的输出。(此逻辑可以再次在具有多个动态输入的合并节点中定义)。
有没有办法做到这一点?谢谢!
kedro - “Hello_World”教程的数据版本控制
我在“hello_world”教程的“catalog.yml”文件中添加了“versioned: true”。
然后,当我使用“kedro run”运行教程时,出现如下错误:“VersionNotFoundError:未找到 CSVDataSet 的任何版本”。
我可以知道对“iris.csv”文件进行版本控制的正确方法是什么吗?谢谢!