class_docstr: EfficientNet model.
     Most easily loaded with the .from_name or .from_pretrained methods.
  
  Args:
      blocks_args (list[namedtuple]): A list of BlockArgs to construct blocks.
      global_params (namedtuple): A set of GlobalParams shared between blocks.
  
  References:
      [1] https://arxiv.org/abs/1905.11946 (EfficientNet)
  
  Example:
      >>> import torch
      >>> from efficientnet.model import EfficientNet
      >>> inputs = torch.rand(1, 3, 224, 224)
      >>> model = EfficientNet.from_pretrained('efficientnet-b0')
      >>> model.eval()
      >>> outputs = model(inputs)
class_docstr_tok: ["EfficientNet","model",".","Most","easily","loaded","with","the",".from_name","or",".from_pretrained","methods",".","Args",":","blocks_args","(","list","[","namedtuple","]",")",":","A","list","of","BlockArgs","to","construct","blocks",".","global_params","(","namedtuple",")",":","A","set","of","GlobalParams","shared","between","blocks",".","References",":","[","1","]","https",":","\/\/arxiv.org\/abs\/1905.11946","(","EfficientNet",")","Example",":",">",">",">","import","torch",">",">",">","from","efficientnet.model","import","EfficientNet",">",">",">","inputs","=","torch.rand","(","1",",","3",",","224",",","224",")",">",">",">","model","=","EfficientNet.from_pretrained","(","'efficientnet-b0","'",")",">",">",">","model.eval","(",")",">",">",">","outputs","=","model","(","inputs",")"]
docstr: use convolution layer to extract feature .
  
  Args:
      inputs (tensor): Input tensor.
  
  Returns:
      Output of the final convolution
      layer in the efficientnet model.
docstr_tok: ["use","convolution","layer","to","extract","feature",".","Args",":","inputs","(","tensor",")",":","Input","tensor",".","Returns",":","Output","of","the","final","convolution","layer","in","the","efficientnet","model","."]
code: def extract_features(self, inputs):
      """use convolution layer to extract feature .
  
      Args:
          inputs (tensor): Input tensor.
  
      Returns:
          Output of the final convolution
          layer in the efficientnet model.
      """
      # Stem
      x = self._swish(self._bn0(self._conv_stem(inputs)))
  
      # Blocks
      for idx, block in enumerate(self._blocks):
          drop_connect_rate = self._global_params.drop_connect_rate
          if drop_connect_rate:
              drop_connect_rate *= float(idx) / len(
                  self._blocks
              )  # scale drop connect_rate
          x = block(x, drop_connect_rate=drop_connect_rate)
  
      # Head
      x = self._swish(self._bn1(self._conv_head(x)))
  
      return x
  
imports: import torch
  from torch import nn
  from torch.nn import functional
  from .utils import round_filters, round_repeats, drop_connect, get_same_padding_conv2d, get_model_params, efficientnet_params, load_pretrained_weights, Swish, MemoryEfficientSwish, calculate_output_image_size
label_desc: Use image node_id 4 for calling the EfficientNet obj's underlying member method code with example usage: obj.extract_features(inputs) and returns: x