File size: 1,143 Bytes
3e936b2
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import torch.nn.functional as F
from typing import Optional, Tuple
import torch
import time
from model.base import SelfForcingModel
import torch.distributed as dist
from model.dmd import DMD
from pipeline.streaming_switch_training import StreamingSwitchTrainingPipeline
from einops import rearrange

class DMDSwitch(DMD):

    def _initialize_inference_pipeline(self):
        self.inference_pipeline = StreamingSwitchTrainingPipeline(denoising_step_list=self.denoising_step_list, scheduler=self.scheduler, generator=self.generator, num_frame_per_block=self.num_frame_per_block, same_step_across_blocks=self.args.same_step_across_blocks, last_step_only=self.args.last_step_only, context_noise=self.args.context_noise, local_attn_size=getattr(self.args, 'model_kwargs', {}).get('local_attn_size', -1), slice_last_frames=getattr(self.args, 'slice_last_frames', 21), global_sink=getattr(self.args, 'global_sink', False), apr_enabled=getattr(self.args, 'apr_enabled', False), apr_alpha_max=getattr(self.args, 'apr_alpha_max', 0.8), apr_d_window=getattr(self.args, 'apr_d_window', None), apr_blend_sink=getattr(self.args, 'apr_blend_sink', False))