class_docstr: Translate each image randomly in vertical and horizontal directions
  up to specified number of pixels.
  
  Parameters
  ----------
  padding : int
      Max number of pixels to translate in any direction.
  fill : tuple
      An RGB color ((0, 0, 0) by default) to fill the area outside the shifted image.
class_docstr_tok: ["Translate","each","image","randomly","in","vertical","and","horizontal","directions","up","to","specified","number","of","pixels",".","Parameters","--","--","--","--","--","padding",":","int","Max","number","of","pixels","to","translate","in","any","direction",".","fill",":","tuple","An","RGB","color","(","(","0",",","0",",","0",")","by","default",")","to","fill","the","area","outside","the","shifted","image","."]
code: def declare_state_and_memory(
      self, previous_state: State
  ) -> Tuple[State, Optional[AllocationQuery]]:
      h, w, c = previous_state.shape
      return (
          replace(previous_state, jit_mode=True),
          AllocationQuery(
              (h + 2 * self.padding, w + 2 * self.padding, c),
              previous_state.dtype,
          ),
      )
  
file_path: ffcv/ffcv/transforms/translate.py
imports: import numpy
  from numpy.random import randint
  from typing import Callable, Optional, Tuple
  from dataclasses import replace
  from ..pipeline.allocation_query import AllocationQuery
  from ..pipeline.operation import Operation
  from ..pipeline.state import State
  from ..pipeline.compiler import Compiler
label_desc: Use image node_id 3 for calling the RandomTranslate obj's underlying member method code with example usage: obj.declare_state_and_memory(previous_state) and returns: replace,  AllocationQuery