chore: vendor selva_core from jnwnlee/selva@d7d40a9
Pure PyTorch SelVA source for SelvaModelLoader/FeatureExtractor/Sampler nodes. Imports rewritten from selva.* to selva_core.*. mel_converter.py: replaced librosa.filters.mel with pure-numpy implementation to avoid librosa→numba→NumPy version incompatibility in some ComfyUI environments. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import torch
|
||||
|
||||
|
||||
def generate_multiple_segments(
|
||||
x: torch.Tensor,
|
||||
segment_size: int,
|
||||
step_size: int,
|
||||
) -> torch.Tensor:
|
||||
# x: (B, T, ...)
|
||||
b, t, *rest = x.shape
|
||||
assert t >= segment_size, f'The length of the input tensor {t} is less than the segment size {segment_size}.'
|
||||
assert segment_size > step_size, f'The segment size {segment_size} should be greater than the step size {step_size}.'
|
||||
# partition the tensor into segments
|
||||
num_segments = (t - segment_size) // step_size + 1
|
||||
segments = []
|
||||
for i in range(num_segments):
|
||||
segments.append(x[:, i * step_size:i * step_size + segment_size])
|
||||
x = torch.stack(segments, dim=1)
|
||||
|
||||
return x # (B, S, T, ...)
|
||||
Reference in New Issue
Block a user