Exemplo n.º 1
0
 def extract_embedding_kernel(self, input_name, scope_id, tensorflow_weight_name, output_name):
     self.scopes[scope_id] = tensorflow_weight_name
     weight_name = self.generate_name(self.scopes, scope_id+1)
     weight = self.get_tensor(weight_name)
     layer = caffe_net.LayerParameter(name=output_name, type='Embed',
                                   bottom=[input_name], top=[output_name])
     layer.add_data(weight)
     self.embedding_dim = len(weight[0])
     layer.embed_param(len(weight), self.embedding_dim)
     self.caffe_model.add_layer(layer)
     self.data_dict[output_name] = Operators.embedding(self.data_dict[input_name], weight, output_name)
Exemplo n.º 2
0
 def add_embedding(self, input_name, weight_name, output_name, transpose=False):
     layer = caffe_net.LayerParameter(name=output_name, type='Embed',
                 bottom=[input_name,weight_name], top=[output_name])
     weight = self.data_dict[weight_name]
     if transpose:
         input_dim = weight.shape[-1]
         embedding_dim = weight.shape[-2]
     else:
         input_dim = weight.shape[-2]
         embedding_dim = weight.shape[-1]
     layer.embed_param(input_dim, embedding_dim, transpose)
     self.caffe_model.add_layer(layer)
     self.data_dict[output_name] = Operators.embedding(self.data_dict[input_name], weight, transpose, output_name)
     return output_name