ADMD_ValidationSettings
One tiny settings bundle that controls every validation render
- validation_settings
ADMD_ValidationSettings is a settings-bundle node: five widgets in, one VALIDATION_SETTINGS out, nothing computed. Its entire purpose is to package the parameters that ADMD_ValidationSampler uses when it renders a preview of your training progress. You set it once, usually near the top of the graph, then fan it out through GetNode/SetNode to every validation sampler in your workflow - the example graphs run five samplers and they all read from the one settings node.
The inputs, and what to actually set
- validation_prompt - what the validation renders. Leave it empty and the sampler falls back to your training prompt, which is the honest test of whether the motion is being learned. Give it something else ("a hippo is walking in a jungle", from the shipped workflow) and you see whether the trained motion transfers to an unrelated subject - the stronger test, and the one that catches overfitting early. Worth spending a sentence on.
- seed - for reproducible validation renders. Set it and leave it; you want each validation to be directly comparable to the last.
- inference_steps (25) and guidance_scale (8) - the sampler's generation settings. The defaults are the sane AnimateDiff ballpark; the community's AnimateDiff habit was low CFG and moderate steps, so 7–9 and 20–30 is the zone you'd tweak within.
- spatial_scale (0.5) - the one knob with a real MotionDirector meaning. During validation the sampler scales the spatial LoRA weights by this factor while the temporal LoRA stays full. At 0.5 you're testing the motion while half-silencing the "look" the spatial LoRA learned, which is a good default for judging movement; push it toward 1.0 to see the full effect of both LoRAs.
Output: validation_settings, wired into ADMD_ValidationSampler.
Install and gotchas
Same pack install as the rest (Manager → "ADMotionDirector", or clone + pip install -r requirements.txt). This node has no dependencies of its own beyond the pack - it's a plain dict builder.
The one trap is the fan-out pattern: because it's a bundle, you'll be tempted to SetNode it and forget it. That's fine, but remember every sampler downstream reads the same settings - if you want to compare spatial scales or prompts mid-run, you need a second ValidationSettings node, not a tweak to the shared one, or you'll invalidate your comparison across all five samplers at once.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | — |
| inference_steps | INT | 250–256 | — |
| guidance_scale | FLOAT | 8.00–32 | — |
| spatial_scale | FLOAT | 0.500–1 | — |
| validation_prompt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| validation_settings | VALIDATION_SETTINGS | — |