Files
nvlabs--longlive/tests/test_i2v_sequence_parallel_config.py
2026-07-13 12:31:40 +08:00

64 lines
1.8 KiB
Python

import unittest
from types import SimpleNamespace
from wan_5b.distributed.sp_training import (
sp_training_sequence_frame_count,
validate_sequence_parallel_training_config,
)
class I2VSequenceParallelConfigTest(unittest.TestCase):
def test_i2v_training_frames_use_full_configured_sequence(self):
cfg = SimpleNamespace(
i2v=True,
independent_first_frame=True,
image_or_video_shape=[1, 96, 48, 44, 80],
)
self.assertEqual(sp_training_sequence_frame_count(cfg), 96)
def test_i2v_sequence_parallel_partitions_the_96_frame_sequence(self):
cfg = SimpleNamespace(
i2v=True,
independent_first_frame=True,
image_or_video_shape=[1, 96, 48, 44, 80],
)
validate_sequence_parallel_training_config(
cfg,
sp_size=4,
num_frame_per_block=8,
)
def test_i2v_sequence_parallel_rejects_non_block_aligned_length(self):
cfg = SimpleNamespace(
i2v=True,
independent_first_frame=True,
image_or_video_shape=[1, 97, 48, 44, 80],
)
with self.assertRaisesRegex(ValueError, r"training latent frames"):
validate_sequence_parallel_training_config(
cfg,
sp_size=4,
num_frame_per_block=8,
)
def test_t2v_sequence_parallel_uses_full_sequence(self):
cfg = SimpleNamespace(
i2v=False,
independent_first_frame=False,
image_or_video_shape=[1, 96, 48, 44, 80],
)
self.assertEqual(sp_training_sequence_frame_count(cfg), 96)
validate_sequence_parallel_training_config(
cfg,
sp_size=4,
num_frame_per_block=8,
)
if __name__ == "__main__":
unittest.main()