コード例 #1
0
    def __init__(self,
                 used_concepts,
                 input_dims,
                 hidden_dims,
                 parameter_resolution='deterministic',
                 vse_attribute_agnostic=False,
                 args=None):
        super().__init__()
        self.used_concepts = used_concepts
        self.input_dims = input_dims
        self.hidden_dims = hidden_dims
        self.parameter_resolution = parameter_resolution
        self.args = args
        #pdb.set_trace()

        for i, nr_vars in enumerate(
            ['attribute', 'relation', 'temporal', 'time']):
            if nr_vars not in self.used_concepts:
                continue
            setattr(self, 'embedding_' + nr_vars,
                    concept_embedding.ConceptEmbedding(vse_attribute_agnostic))
            tax = getattr(self, 'embedding_' + nr_vars)
            rec = self.used_concepts[nr_vars]

            for a in rec['attributes']:
                tax.init_attribute(a, self.input_dims[1 + i],
                                   self.hidden_dims[1 + i])
            for (v, b) in rec['concepts']:
                tax.init_concept(v, self.hidden_dims[1 + i], known_belong=b)
            if nr_vars == 'time':
                tax.exist_object = jacnn.LinearLayer(self.input_dims[1 + i],
                                                     1,
                                                     activation=None)
                # TODO more complicated filter_in and out function
                tax.filter_in = jacnn.LinearLayer(self.input_dims[1 + i],
                                                  128,
                                                  activation=None)
                tax.filter_out = jacnn.LinearLayer(self.input_dims[1 + i],
                                                   128,
                                                   activation=None)
コード例 #2
0
 def __init__(self, input_dim, output_dim):
     super().__init__()
     self.input_dim = input_dim
     self.output_dim = output_dim
     self.map = jacnn.LinearLayer(input_dim, output_dim, activation=None)