Commit ccfbd61
Filter steps during robust training to fix OOM on long tiered runs
When `-R -T` (robust + tiered) is used, `train_robust()` was accumulating
ALL steps in memory before filtering at output time. For 30k-step
dodecagon scenes (~2MB/step, multiple parallel variants), this caused OOM
even with 61GB RAM + 32GB swap.
Now `train_robust_filtered()` accepts a `retain` predicate and only keeps
steps that pass the filter (plus best and final), so memory stays bounded
to the number of tiered keyframes (~5-6k for 30k steps).
Changes:
- `robust.rs`: Add `RobustResult` struct and `train_robust_filtered()` with
`retain` parameter; old `train_robust()` wraps it with `retain=None`
- `model.rs`: Add `step_indices` and `total_steps` fields to `Model`;
`train_robust_with_config()` accepts `tiered: Option<&TieredConfig>`
- `main.rs`: Pass `tiered_config` to robust training, use `model.total_steps`
and `model.step_indices` for BTD/history output
Co-Authored-By: Claude <noreply@anthropic.com>1 parent a2dbd55 commit ccfbd61
3 files changed
Lines changed: 171 additions & 35 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
792 | 792 | | |
793 | 793 | | |
794 | 794 | | |
795 | | - | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
796 | 800 | | |
797 | 801 | | |
798 | 802 | | |
| |||
812 | 816 | | |
813 | 817 | | |
814 | 818 | | |
815 | | - | |
| 819 | + | |
816 | 820 | | |
817 | 821 | | |
818 | | - | |
| 822 | + | |
819 | 823 | | |
820 | 824 | | |
821 | 825 | | |
822 | | - | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
823 | 829 | | |
824 | 830 | | |
825 | 831 | | |
826 | 832 | | |
| 833 | + | |
827 | 834 | | |
828 | 835 | | |
829 | | - | |
830 | | - | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
831 | 840 | | |
832 | 841 | | |
| 842 | + | |
833 | 843 | | |
834 | 844 | | |
835 | | - | |
| 845 | + | |
836 | 846 | | |
837 | 847 | | |
838 | 848 | | |
839 | | - | |
| 849 | + | |
840 | 850 | | |
841 | 851 | | |
842 | | - | |
| 852 | + | |
843 | 853 | | |
844 | | - | |
| 854 | + | |
845 | 855 | | |
846 | 856 | | |
847 | 857 | | |
| |||
853 | 863 | | |
854 | 864 | | |
855 | 865 | | |
856 | | - | |
857 | | - | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
858 | 876 | | |
859 | 877 | | |
860 | 878 | | |
| |||
863 | 881 | | |
864 | 882 | | |
865 | 883 | | |
866 | | - | |
| 884 | + | |
867 | 885 | | |
868 | 886 | | |
869 | 887 | | |
| |||
880 | 898 | | |
881 | 899 | | |
882 | 900 | | |
883 | | - | |
| 901 | + | |
884 | 902 | | |
885 | 903 | | |
886 | 904 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
15 | 23 | | |
16 | 24 | | |
17 | 25 | | |
| |||
20 | 28 | | |
21 | 29 | | |
22 | 30 | | |
23 | | - | |
| 31 | + | |
24 | 32 | | |
25 | 33 | | |
26 | 34 | | |
| |||
66 | 74 | | |
67 | 75 | | |
68 | 76 | | |
| 77 | + | |
69 | 78 | | |
70 | 79 | | |
71 | 80 | | |
| |||
128 | 137 | | |
129 | 138 | | |
130 | 139 | | |
| 140 | + | |
131 | 141 | | |
132 | 142 | | |
133 | 143 | | |
| |||
139 | 149 | | |
140 | 150 | | |
141 | 151 | | |
142 | | - | |
| 152 | + | |
143 | 153 | | |
144 | 154 | | |
145 | 155 | | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
156 | 185 | | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
161 | 189 | | |
162 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
163 | 195 | | |
164 | 196 | | |
165 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
185 | 199 | | |
186 | 200 | | |
187 | 201 | | |
188 | 202 | | |
189 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
190 | 219 | | |
191 | 220 | | |
| 221 | + | |
| 222 | + | |
192 | 223 | | |
| 224 | + | |
| 225 | + | |
193 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
194 | 234 | | |
195 | 235 | | |
196 | 236 | | |
| |||
235 | 275 | | |
236 | 276 | | |
237 | 277 | | |
| 278 | + | |
| 279 | + | |
238 | 280 | | |
239 | 281 | | |
240 | 282 | | |
241 | 283 | | |
242 | | - | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
243 | 301 | | |
244 | 302 | | |
245 | 303 | | |
| |||
249 | 307 | | |
250 | 308 | | |
251 | 309 | | |
252 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
253 | 339 | | |
254 | 340 | | |
255 | 341 | | |
| |||
0 commit comments