Skip to content

fix: multiple bugs in RoPE cache, data preprocessing, and top-k/top-p filtering - #410

Open
dajiaohuang wants to merge 2 commits into
shiyu-coder:masterfrom
dajiaohuang:fix-bugs-20261007
Open

dajiaohuang wants to merge 2 commits into
shiyu-coder:masterfrom
dajiaohuang:fix-bugs-20261007

Conversation

@dajiaohuang

@dajiaohuang dajiaohuang commented Oct 7, 2026 •

Copy link
Copy Markdown

Summary

  • Preserve an existing amount column when KronosPredictor.predict() or predict_batch() fills a missing volume column.
  • Apply both top_k and top_p in top_k_top_p_filtering when both are requested.
  • Refresh RotaryPositionalEmbedding.cos_cached and sin_cached when sequence length, device, or dtype changes, avoiding stale RoPE cache entries during device reuse.

The RoPE change addresses only the minor cache/device-reuse code note in #375. It does not resolve the broader evaluation, calibration, ranking, or research questions in that issue.

Validation

Python AST syntax parsing passed for the relevant Python files. No runtime/model behavior, full test-suite, or upstream CI result is claimed here.

… filtering

- Fix RotaryPositionalEmbedding cache not invalidating on device/dtype change (prevents device mismatch errors when moving model across devices, per issue shiyu-coder#375)
- Fix data preprocessing bug where existing 'amount' column was overwritten with zeros when 'volume' column was missing (both predict() and predict_batch() methods)
- Fix top_k_top_p_filtering early return which prevented combining top-k and top-p filtering together
The volume column is guaranteed present by the fill immediately above in
both predict() and predict_batch(), so the nested 'if self.vol_col in
df.columns' branches are unreachable. Remove them while preserving the
computed amount field.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant