(self, dataset, config)
| 24 | |
| 25 | class Classifier(torch.nn.Module): |
| 26 | def __init__(self, dataset, config): |
| 27 | super(Classifier, self).__init__() |
| 28 | self.config = config |
| 29 | assert len(self.config.feature.feature_names) == 1 |
| 30 | assert self.config.feature.feature_names[0] == "token" or \ |
| 31 | self.config.feature.feature_names[0] == "char" |
| 32 | if config.embedding.type == EmbeddingType.EMBEDDING: |
| 33 | self.token_embedding = \ |
| 34 | Embedding(dataset.token_map, config.embedding.dimension, |
| 35 | cDataset.DOC_TOKEN, config, dataset.VOCAB_PADDING, |
| 36 | pretrained_embedding_file= |
| 37 | config.feature.token_pretrained_file, |
| 38 | mode=EmbeddingProcessType.FLAT, |
| 39 | dropout=self.config.embedding.dropout, |
| 40 | init_type=self.config.embedding.initializer, |
| 41 | low=-self.config.embedding.uniform_bound, |
| 42 | high=self.config.embedding.uniform_bound, |
| 43 | std=self.config.embedding.random_stddev, |
| 44 | fan_mode=self.config.embedding.fan_mode, |
| 45 | activation_type=ActivationType.NONE, |
| 46 | model_mode=dataset.model_mode) |
| 47 | self.char_embedding = \ |
| 48 | Embedding(dataset.char_map, config.embedding.dimension, |
| 49 | cDataset.DOC_CHAR, config, dataset.VOCAB_PADDING, |
| 50 | mode=EmbeddingProcessType.FLAT, |
| 51 | dropout=self.config.embedding.dropout, |
| 52 | init_type=self.config.embedding.initializer, |
| 53 | low=-self.config.embedding.uniform_bound, |
| 54 | high=self.config.embedding.uniform_bound, |
| 55 | std=self.config.embedding.random_stddev, |
| 56 | fan_mode=self.config.embedding.fan_mode, |
| 57 | activation_type=ActivationType.NONE, |
| 58 | model_mode=dataset.model_mode) |
| 59 | elif config.embedding.type == EmbeddingType.REGION_EMBEDDING: |
| 60 | self.token_embedding = RegionEmbeddingLayer( |
| 61 | dataset.token_map, config.embedding.dimension, |
| 62 | config.embedding.region_size, cDataset.DOC_TOKEN, config, |
| 63 | padding=dataset.VOCAB_PADDING, |
| 64 | pretrained_embedding_file= |
| 65 | config.feature.token_pretrained_file, |
| 66 | dropout=self.config.embedding.dropout, |
| 67 | init_type=self.config.embedding.initializer, |
| 68 | low=-self.config.embedding.uniform_bound, |
| 69 | high=self.config.embedding.uniform_bound, |
| 70 | std=self.config.embedding.random_stddev, |
| 71 | fan_mode=self.config.embedding.fan_mode, |
| 72 | model_mode=dataset.model_mode, |
| 73 | region_embedding_type=config.embedding.region_embedding_type) |
| 74 | |
| 75 | self.char_embedding = RegionEmbeddingLayer( |
| 76 | dataset.char_map, config.embedding.dimension, |
| 77 | config.embedding.region_size, cDataset.DOC_CHAR, config, |
| 78 | padding=dataset.VOCAB_PADDING, |
| 79 | dropout=self.config.embedding.dropout, |
| 80 | init_type=self.config.embedding.initializer, |
| 81 | low=-self.config.embedding.uniform_bound, |
| 82 | high=self.config.embedding.uniform_bound, |
| 83 | std=self.config.embedding.random_stddev, |
nothing calls this directly
no test coverage detected