Step 1: Fork the repo.
Step 2: Clone your fork locally.
git clone https://github.com/USERNAME/REPO.git
| find ~/ISU-DMC/dmc2016 -name '*.h' -o -name '*.R' > RFILES | |
| find ~/ISU-DMC/dmc2016 -name '*.h' -o -name '*.py' > PYFILES | 
| { | |
| "trainer": { | |
| "cuda_device": 0, | |
| "learning_rate_scheduler": { | |
| "type": "triangular", | |
| // total number of epochs, should match the trainner param `num_epochs` below | |
| "num_epochs": 80, | |
| // increase LR linearly for 20 epochs | |
| "warm_up": 20, | |
| // then decrease LR linearly for 30 epochs | 
| class CopyNetSeq2Seq(Model): | |
| # snip... | |
| def _get_generation_scores(self, state: Dict[str, torch.Tensor]) -> torch.Tensor: | |
| # `self._output_generation_layer` is just a PyTorch linear layer with an input | |
| # dimension equal to the decoder hidden state size, and an output dimension | |
| # equal to the size of the target vocabulary. | |
| return self._output_generation_layer(state["decoder_hidden"]) | 
| class CopyNetSeq2Seq(Model): | |
| # snip... | |
| def _get_copy_scores(self, state: Dict[str, torch.Tensor]) -> torch.Tensor: | |
| # NOTE: here `trimmed_source_length` refers to the input sequence length minus 2, | |
| # so that the special START and END tokens in the source are ignored. We also need to | |
| # ignore PAD tokens, but that happens elsewhere using a mask. | |
| # shape: (batch_size, trimmed_source_length, encoder_output_dim) | |
| trimmed_encoder_outputs = state["encoder_outputs"][:, 1:-1] | 
| class CopyNetSeq2Seq(Model): | |
| # snip... | |
| def _decoder_step(self, | |
| last_predictions: torch.Tensor, | |
| selective_weights: torch.Tensor, | |
| state: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]: | |
| # shape: (group_size, max_input_sequence_length, encoder_output_dim) | |
| encoder_outputs_mask = state["source_mask"].float() | 
| class CopyNetSeq2Seq(Model): | |
| # snip... | |
| def _get_ll_contrib(self, | |
| generation_scores: torch.Tensor, | |
| generation_scores_mask: torch.Tensor, | |
| copy_scores: torch.Tensor, | |
| target_tokens: torch.Tensor, | |
| target_to_source: torch.Tensor, | 
| #!/bin/bash | |
| label_names=( | |
| 'Status: Changes Requested' | |
| 'Status: Do Not Merge' | |
| 'Status: Help Wanted' | |
| 'Status: In Progress' | |
| 'Status: Mergeable' | |
| 'Status: Review Needed' | |
| 'Type: Bug' | 
| local transformer_model = 'bert-base-cased'; | |
| local epochs = 1; | |
| local batch_size = 8; | |
| { | |
| "dataset_reader": { | |
| "type": "transformer_squad", | |
| "transformer_model_name": transformer_model, | |
| "skip_invalid_examples": true, | 
| """ | |
| Proposal for new DatasetReader API. | |
| For this to work, all `Instance`s would have to be efficiently serializable. | |
| So `TextField`s, for example, shouldn't contain `TokenIndexer`s. | |
| The flow of data would look like this (boxes represent separate Python processes): | |
| ``` | |
| +-----------------------------------------------+ |