class_docstr: SqueezeNext model from 'SqueezeNext: Hardware-Aware Neural Network Design,' https://arxiv.org/abs/1803.10615.
  
  Parameters:
  ----------
  channels : list of list of int
      Number of output channels for each unit.
  init_block_channels : int
      Number of output channels for the initial unit.
  final_block_channels : int
      Number of output channels for the final block of the feature extractor.
  in_channels : int, default 3
      Number of input channels.
  num_classes : int, default 1000
      Number of classification classes.
class_docstr_tok: ["SqueezeNext","model","from","'SqueezeNext",":","Hardware-Aware","Neural","Network","Design",",","'","https",":","\/\/arxiv.org\/abs\/1803.10615",".","Parameters",":","--","--","--","--","--","channels",":","list","of","list","of","int","Number","of","output","channels","for","each","unit",".","init_block_channels",":","int","Number","of","output","channels","for","the","initial","unit",".","final_block_channels",":","int","Number","of","output","channels","for","the","final","block","of","the","feature","extractor",".","in_channels",":","int",",","default","3","Number","of","input","channels",".","num_classes",":","int",",","default","1000","Number","of","classification","classes","."]
code: def __init__(
      self,
      channels,
      init_block_channels,
      final_block_channels,
      in_channels=3,
      num_classes=1000,
  ):
      super(SqueezeNext, self).__init__()
  
      self.features = nn.Sequential()
      self.features.add_module(
          "init_block",
          SqnxtInitBlock(
              in_channels=in_channels, out_channels=init_block_channels
          ),
      )
      in_channels = init_block_channels
      for i, channels_per_stage in enumerate(channels):
          stage = nn.Sequential()
          for j, out_channels in enumerate(channels_per_stage):
              stride = 2 if (j == 0) and (i != 0) else 1
              stage.add_module(
                  "unit{}".format(j + 1),
                  SqnxtUnit(
                      in_channels=in_channels,
                      out_channels=out_channels,
                      stride=stride,
                  ),
              )
              in_channels = out_channels
          self.features.add_module("stage{}".format(i + 1), stage)
      self.features.add_module(
          "final_block",
          SqnxtConv(
              in_channels=in_channels,
              out_channels=final_block_channels,
              kernel_size=1,
              stride=1,
          ),
      )
      in_channels = final_block_channels
      self.features.add_module(
          "final_pool", nn.AvgPool2d(kernel_size=7, stride=1)
      )
  
      self.output = nn.Linear(
          in_features=in_channels, out_features=num_classes
      )
  
      self._init_params()
  
imports: import numpy
  import torch
  from torch.autograd import Variable
  from pytorch2keras.converter import pytorch_to_keras
  import os
  import torch.nn
  import torch.nn.init
label_desc: Use image node_id 1 to create a new SqueezeNext object from inherited base classes: nn with example: obj = SqueezeNext(channels, init_block_channels, final_block_channels, in_channels, num_classes)