code: def __init__(
      self,
      max_scale: float,
      num_frames: int,
      min_scale: float = 1.0,
      additional_cond_keys: Optional[Union[List[str], str]] = None,
  ):
      self.min_scale = min_scale
      self.max_scale = max_scale
      self.num_frames = num_frames
      self.scale = torch.linspace(
          min_scale, max_scale, num_frames
      ).unsqueeze(0)
  
      additional_cond_keys = default(additional_cond_keys, [])
      if isinstance(additional_cond_keys, str):
          additional_cond_keys = [additional_cond_keys]
      self.additional_cond_keys = additional_cond_keys
  
imports: import logging
  from abc import ABC, abstractmethod
  from typing import Dict, List, Optional, Tuple, Union
  import torch
  from einops import rearrange, repeat
  from ...util import append_dims, default
label_desc: Use image node_id 1 to create a new LinearPredictionGuider object from inherited base classes: Guider with example: obj = LinearPredictionGuider(max_scale, num_frames, min_scale, additional_cond_keys)