class_docstr: Implementation of EfficientNet, https://arxiv.org/pdf/1905.11946.pdf
  References:
      https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
      https://github.com/lukemelas/EfficientNet-PyTorch
  
  NOTE: the original implementation uses the names depth_divisor and min_depth
        to refer to the number of channels, which is confusing, since the paper
        refers to the channel dimension as width. We use the width_divisor and
        min_width names instead.
class_docstr_tok: ["Implementation","of","EfficientNet",",","https",":","\/\/arxiv.org\/pdf\/1905.11946.pdf","References",":","https",":","\/\/github.com\/tensorflow\/tpu\/tree\/master\/models\/official\/efficientnet","https",":","\/\/github.com\/lukemelas\/EfficientNet-PyTorch","NOTE",":","the","original","implementation","uses","the","names","depth_divisor","and","min_depth","to","refer","to","the","number","of","channels",",","which","is","confusing",",","since","the","paper","refers","to","the","channel","dimension","as","width",".","We","use","the","width_divisor","and","min_width","names","instead","."]
code: def forward(self, inputs):
      # Stem
      outputs = self.relu_fn(self.bn0(self.conv_stem(inputs)))
  
      # Blocks
      for idx, block in enumerate(self.blocks):
          drop_connect_rate = self.drop_connect_rate
          if drop_connect_rate:
              drop_connect_rate *= float(idx) / len(self.blocks)
          outputs = block(outputs, drop_connect_rate=drop_connect_rate)
  
      # Conv head
      outputs = self.relu_fn(self.bn1(self.conv_head(outputs)))
  
      # Trunk output (identity function)
      outputs = self.trunk_output(outputs)
  
      # Average Pooling
      outputs = self.avg_pooling(outputs).view(outputs.size(0), -1)
  
      # Dropout
      if self.dropout is not None:
          outputs = self.dropout(outputs)
  
      # Fully connected layer
      outputs = self.fc(outputs)
      return outputs
  
imports: import copy
  import math
  from collections import OrderedDict
  from typing import Any, Dict, NamedTuple, Optional
  import torch
  import torch.nn
  from classy_vision.generic.util import get_torch_version
  from classy_vision.models import ClassyModel, register_model
label_desc: Use image node_id 4 for calling the EfficientNet obj's underlying member method code with example usage: obj.forward(inputs) and returns: outputs