code: def __init__(
      self, vocab, embed_size, kernel_sizes, num_channels, **kwargs
  ):
      super(TextCNN, self).__init__(**kwargs)
      self.embedding = nn.Embedding(len(vocab), embed_size)
      # The embedding layer does not participate in training
      self.constant_embedding = nn.Embedding(len(vocab), embed_size)
      self.dropout = nn.Dropout(0.5)
      self.decoder = nn.Dense(2)
      # The max-over-time pooling layer has no weight, so it can share an
      # instance
      self.pool = nn.GlobalMaxPool1D()
      # Create multiple one-dimensional convolutional layers
      self.convs = nn.Sequential()
      for c, k in zip(num_channels, kernel_sizes):
          self.convs.add(nn.Conv1D(c, k, activation="relu"))
  
imports: import collections
  import os
  import random
  import sys
  import tarfile
  import mxnet
  from mxnet import nd, gluon
  from mxnet.contrib import text
  from mxnet.gluon import nn, rnn
  from mxnet.gluon.contrib.estimator import estimator
  import pytest
label_desc: Use image node_id 1 to create a new TextCNN object from inherited base classes: nn with example: obj = TextCNN(vocab, embed_size, kernel_sizes, num_channels)