Ejemplo n.º 1
0
 def __init__(self, type_context: TypeContext):
     super().__init__()
     self.lookup = torch.zeros(type_context.get_object_count(), 3)
     self.lookup[0] = torch.Tensor([1, 1, 1])
     self.lookup[1] = torch.Tensor([-1, -1, -1])
     self.lookup[2] = torch.Tensor([3, 3, 3])
     self.lookup[3] = torch.Tensor([10, 0, 1])
     self.lookup[6] = torch.Tensor([3, 5, 1])
Ejemplo n.º 2
0
 def __init__(
         self,
         rnn_cell: TreeRNNCell,
         action_selector: ActionSelector,
         type_vectorizer: VectorizerBase,
         type_context: TypeContext  #,
     #bce_pos_weight=1.0
 ):
     super().__init__()
     self.rnn_cell = rnn_cell
     self.action_selector = action_selector
     self.type_vectorizer = type_vectorizer
     self.type_context = type_context
     self.object_embeddings = nn.Embedding(type_context.get_object_count(),
                                           rnn_cell.hidden_size)
Ejemplo n.º 3
0
def get_default_nonretrieval_decoder(type_context: TypeContext,
                                     rnn_hidden_size: int) -> TreeDecoder:
    object_vectorizer = vectorizers.TorchDeepEmbed(
        type_context.get_object_count(), rnn_hidden_size)
    ast_embed_size = int(rnn_hidden_size / 2)
    type_vectorizer = vectorizers.TorchDeepEmbed(type_context.get_type_count(),
                                                 ast_embed_size)
    rnn_cell = TreeRNNCellLSTM(ast_embed_size, rnn_hidden_size)
    #rnn_cell = TreeCellOnlyAttn(rnn_hidden_size, rnn_hidden_size)
    #rnn_cell = TreeRNNCellGRU(rnn_hidden_size, rnn_hidden_size)
    action_selector = SimpleActionSelector(
        rnn_cell.output_size,
        objectselector.get_default_object_selector(type_context,
                                                   object_vectorizer),
        type_context)
    return TreeRNNDecoder(rnn_cell, action_selector, type_vectorizer,
                          type_context)