import torch from opensora.registry import MODELS @MODELS.register_module("classes") class ClassEncoder: def __init__(self, num_classes, model_max_length=None, device="cuda", dtype=torch.float): self.num_classes = num_classes self.y_embedder = None self.model_max_length = model_max_length self.output_dim = None self.device = device def encode(self, text): return dict(y=torch.tensor([int(t) for t in text]).to(self.device)) def null(self, n): return torch.tensor([self.num_classes] * n).to(self.device)