class_docstr: EfficientAd Autoencoder.
  
  Args:
     out_channels (int): number of convolution output channels
     img_size (tuple): size of input images
code: def forward(self, x):
      x = imagenet_norm_batch(x)
      x = self.encoder(x)
      x = self.decoder(x)
      return x
  
imports: from __future__ import annotations
  import logging
  import random
  from enum import Enum
  import torch
  import torch.nn.functional
  from torch import Tensor, nn
  from torchvision import transforms
label_desc: Use image node_id 2 for calling the AutoEncoder obj's underlying member method code with example usage: obj.forward(x) and returns: x