Separate RNG sources in one augmentation pipeline with invariant observables
When a pipeline mixes draws from different RNGs (e.g. a library-owned Generator for flip/rotation and the global np.random for a resize), you can attribute duplication to each source in a single run by choosing observables that only one draw affects. For geometric transforms, feed one image with one box and record (a) the angle of the first transformed box edge, which flip and rotation set but an isotropic resize leaves unchanged, and (b) the output height, which only the resize sets. In a real 8-worker detection loader this gave 8/64 distinct angles but 59/64 distinct heights per epoch: the duplicated source was the private Generator, while the global RNG had been reseeded per worker. That doubles as a built-in control and rules out a broken harness.