Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate PipelineBuilder from Pipeline and update run api #606

Merged
merged 37 commits into from
Jan 16, 2025
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
59d616d
Bring back default docs
mdekstrand Jan 14, 2025
a088799
copy the pipeline to be a builder class
mdekstrand Jan 14, 2025
34a1549
change tests to use builder
mdekstrand Jan 14, 2025
74b84f7
update test_train
mdekstrand Jan 15, 2025
b9de338
remove builder methods from pipeline
mdekstrand Jan 15, 2025
34c92d1
first pass at working separate builder
mdekstrand Jan 15, 2025
e0da460
A lot more pieces, including fixing the run api
mdekstrand Jan 15, 2025
8b1e70a
deal with several default component problems
mdekstrand Jan 15, 2025
3164bcc
fix config load default in builder
mdekstrand Jan 15, 2025
62b5e4a
stray defaults in save/load
mdekstrand Jan 15, 2025
8e5f40c
fix several type errors and missing defaults
mdekstrand Jan 15, 2025
c51eb7b
fix incorrect name
mdekstrand Jan 15, 2025
72be51a
fix pipeline simple graph test
mdekstrand Jan 15, 2025
316c324
implement utility functions for component input/output
mdekstrand Jan 16, 2025
3303001
name fix
mdekstrand Jan 16, 2025
cb0ec1a
ugly input resolution
mdekstrand Jan 16, 2025
4b4eb92
more input tracing
mdekstrand Jan 16, 2025
6cd8764
fix config_hash invocation
mdekstrand Jan 16, 2025
9f21a68
handle callable objects (not recommended)
mdekstrand Jan 16, 2025
0e0314e
fix a lot of type and build errors
mdekstrand Jan 16, 2025
3c958e2
fix bad clone tests
mdekstrand Jan 16, 2025
7be94f5
re-introduce typecheck warning
mdekstrand Jan 16, 2025
fd63b8d
silence a few warnings
mdekstrand Jan 16, 2025
938caf7
xfail the cycle detector
mdekstrand Jan 16, 2025
3a3dec2
rename thing to stop confusing pytest
mdekstrand Jan 16, 2025
fdf9574
update common for the new builder
mdekstrand Jan 16, 2025
d88ecb7
document the builder
mdekstrand Jan 16, 2025
3c147b5
fix remaining bits for the pipeline builder
mdekstrand Jan 16, 2025
20a9efa
doc note
mdekstrand Jan 16, 2025
709ea7d
document 2 ways to invoke pipelines
mdekstrand Jan 16, 2025
e3c645f
separate edges from nodes
mdekstrand Jan 16, 2025
0c4e2d8
test for cycles at build time
mdekstrand Jan 16, 2025
a1b6281
clean up component warnings
mdekstrand Jan 16, 2025
a943644
sort aliases and inputs for deterministic configuration
mdekstrand Jan 16, 2025
735c745
edge case on missing edgs
mdekstrand Jan 16, 2025
84a20fe
adsd builder.clone tests
mdekstrand Jan 16, 2025
6eab439
remove stray print
mdekstrand Jan 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
more input tracing
mdekstrand committed Jan 16, 2025
commit 4b4eb920eb32a0384dc604d0693a49f87b4c3adc
3 changes: 3 additions & 0 deletions lenskit/lenskit/pipeline/runner.py
Original file line number Diff line number Diff line change
@@ -116,9 +116,12 @@ def _run_component(
trace(log, "processing inputs")
inputs = component_inputs(comp)
for iname, itype in inputs.items():
ilog = log.bind(input_name=iname, input_type=itype)
trace(ilog, "resolving input")
# look up the input wiring for this parameter input
snode = None
if src := wiring.get(iname, None):
trace(ilog, "resolving from wiring")
snode = self.pipe.node(src)

# check if this is a lazy node