(self, dataset, config)
| 20 | |
| 21 | class TextCNN(Classifier): |
| 22 | def __init__(self, dataset, config): |
| 23 | super(TextCNN, self).__init__(dataset, config) |
| 24 | |
| 25 | self.kernel_sizes = config.TextCNN.kernel_sizes |
| 26 | self.convs = torch.nn.ModuleList() |
| 27 | for kernel_size in self.kernel_sizes: |
| 28 | self.convs.append(torch.nn.Conv1d( |
| 29 | config.embedding.dimension, config.TextCNN.num_kernels, |
| 30 | kernel_size, padding=kernel_size - 1)) |
| 31 | |
| 32 | self.top_k = self.config.TextCNN.top_k_max_pooling |
| 33 | hidden_size = len(config.TextCNN.kernel_sizes) * \ |
| 34 | config.TextCNN.num_kernels * self.top_k |
| 35 | self.linear = torch.nn.Linear(hidden_size, len(dataset.label_map)) |
| 36 | self.dropout = torch.nn.Dropout(p=config.train.hidden_layer_dropout) |
| 37 | |
| 38 | def get_parameter_optimizer_dict(self): |
| 39 | params = list() |
nothing calls this directly
no outgoing calls
no test coverage detected