feat(huggingface): keep the row on an empty petal measurement - #8057
feat(huggingface): keep the row on an empty petal measurement#8057kz930 wants to merge 2 commits into
Conversation
The operator puts the two values straight into a numpy array and standardizes them, so an empty cell reaches the subtraction as a None and ends the run with `unsupported operand type(s) for -: 'NoneType' and 'float'`, naming neither the column nor a way out. Nothing in the configuration can exclude the row. It now answers the empty cell the way the three other operators in the group already do: keep the row, leave the prediction columns empty. Those three read a text column, which is why the change that taught them did not reach this one, and it was left as the only operator in the group that ends the run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Automated Reviewer SuggestionsBased on the
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8057 +/- ##
============================================
- Coverage 93.52% 93.42% -0.10%
+ Complexity 4727 4725 -2
============================================
Files 1195 1181 -14
Lines 48492 47703 -789
Branches 5379 5282 -97
============================================
- Hits 45352 44568 -784
- Misses 1693 1698 +5
+ Partials 1447 1437 -10
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🟢 | bs=10 sw=10 sl=64 | 658 | 0.401 | 14,464/19,510/19,510 us | 🟢 -16.3% / 🔴 +37.2% |
| 🔴 | bs=100 sw=10 sl=64 | 1,236 | 0.755 | 79,773/91,480/91,480 us | 🟢 -23.5% / 🟢 -10.6% |
| ⚪ | bs=1000 sw=10 sl=64 | 1,552 | 0.947 | 632,895/706,766/706,766 us | ⚪ within ±5% / 🟢 +30.7% |
Baseline details
Latest main 604f109 from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 658 tuples/sec | 648 tuples/sec | 894.27 tuples/sec | +1.5% | -26.4% |
| bs=10 sw=10 sl=64 | MB/s | 0.401 MB/s | 0.395 MB/s | 0.546 MB/s | +1.5% | -26.5% |
| bs=10 sw=10 sl=64 | p50 | 14,464 us | 14,252 us | 11,164 us | +1.5% | +29.6% |
| bs=10 sw=10 sl=64 | p95 | 19,510 us | 23,322 us | 14,219 us | -16.3% | +37.2% |
| bs=10 sw=10 sl=64 | p99 | 19,510 us | 23,322 us | 16,863 us | -16.3% | +15.7% |
| bs=100 sw=10 sl=64 | throughput | 1,236 tuples/sec | 1,240 tuples/sec | 1,158 tuples/sec | -0.3% | +6.7% |
| bs=100 sw=10 sl=64 | MB/s | 0.755 MB/s | 0.757 MB/s | 0.707 MB/s | -0.3% | +6.8% |
| bs=100 sw=10 sl=64 | p50 | 79,773 us | 75,600 us | 88,711 us | +5.5% | -10.1% |
| bs=100 sw=10 sl=64 | p95 | 91,480 us | 119,575 us | 95,062 us | -23.5% | -3.8% |
| bs=100 sw=10 sl=64 | p99 | 91,480 us | 119,575 us | 102,275 us | -23.5% | -10.6% |
| bs=1000 sw=10 sl=64 | throughput | 1,552 tuples/sec | 1,543 tuples/sec | 1,188 tuples/sec | +0.6% | +30.7% |
| bs=1000 sw=10 sl=64 | MB/s | 0.947 MB/s | 0.941 MB/s | 0.725 MB/s | +0.6% | +30.6% |
| bs=1000 sw=10 sl=64 | p50 | 632,895 us | 640,601 us | 874,204 us | -1.2% | -27.6% |
| bs=1000 sw=10 sl=64 | p95 | 706,766 us | 722,448 us | 916,845 us | -2.2% | -22.9% |
| bs=1000 sw=10 sl=64 | p99 | 706,766 us | 722,448 us | 947,186 us | -2.2% | -25.4% |
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,304.04,200,128000,658,0.401,14463.91,19510.49,19510.49
1,100,10,64,20,1617.79,2000,1280000,1236,0.755,79772.86,91480.15,91480.15
2,1000,10,64,20,12883.91,20000,12800000,1552,0.947,632894.88,706766.47,706766.47|
/request-review @carloea2 @aglinxinyuan |
carloea2
left a comment
There was a problem hiding this comment.
Looks good. A missing measurement now keeps the row and leaves both prediction fields empty.
|
@aglinxinyuan May you take a look at this PR please? |
What changes were proposed in this PR?
The operator puts the two petal values straight into a numpy array and standardizes them, so an empty cell reaches the subtraction as a
Noneand ends the run withunsupported operand type(s) for -: 'NoneType' and 'float', naming neither the column nor a way out. Nothing in the configuration can exclude the row.It now answers the empty cell the way the three other operators in the group already do: keep the row, leave the prediction columns empty. Those three read a text column, which is why #7569 did not reach this one, and it was left as the only operator in the Hugging Face group that ends the run on a value the model was never given.
Any related issues, documentation, discussions?
Closes #8056. The same answer the three text operators were given in #7569.
How was this PR tested?
HuggingFaceIrisLogisticRegressionOpDescSpecpins the guard in the generated code; removing it turns that test red.WorkflowOperator/testpasses: 2391 tests.Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 5)