當前位置: 首頁>>代碼示例>>Python>>正文


Python layers.Dense方法代碼示例

本文整理匯總了Python中layers.Dense方法的典型用法代碼示例。如果您正苦於以下問題:Python layers.Dense方法的具體用法?Python layers.Dense怎麽用?Python layers.Dense使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在layers的用法示例。


在下文中一共展示了layers.Dense方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _build_low_layers

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def _build_low_layers(self, args):
        self.user_emb_matrix = tf.get_variable('user_emb_matrix', [self.n_user, args.dim])
        self.item_emb_matrix = tf.get_variable('item_emb_matrix', [self.n_item, args.dim])
        self.entity_emb_matrix = tf.get_variable('entity_emb_matrix', [self.n_entity, args.dim])
        self.relation_emb_matrix = tf.get_variable('relation_emb_matrix', [self.n_relation, args.dim])

        # [batch_size, dim]
        self.user_embeddings = tf.nn.embedding_lookup(self.user_emb_matrix, self.user_indices)
        self.item_embeddings = tf.nn.embedding_lookup(self.item_emb_matrix, self.item_indices)
        self.head_embeddings = tf.nn.embedding_lookup(self.entity_emb_matrix, self.head_indices)
        self.relation_embeddings = tf.nn.embedding_lookup(self.relation_emb_matrix, self.relation_indices)
        self.tail_embeddings = tf.nn.embedding_lookup(self.entity_emb_matrix, self.tail_indices)

        for _ in range(args.L):
            user_mlp = Dense(input_dim=args.dim, output_dim=args.dim)
            tail_mlp = Dense(input_dim=args.dim, output_dim=args.dim)
            cc_unit = CrossCompressUnit(args.dim)
            self.user_embeddings = user_mlp(self.user_embeddings)
            self.item_embeddings, self.head_embeddings = cc_unit([self.item_embeddings, self.head_embeddings])
            self.tail_embeddings = tail_mlp(self.tail_embeddings)

            self.vars_rs.extend(user_mlp.vars)
            self.vars_rs.extend(cc_unit.vars)
            self.vars_kge.extend(tail_mlp.vars)
            self.vars_kge.extend(cc_unit.vars) 
開發者ID:hwwang55,項目名稱:MKR,代碼行數:27,代碼來源:model.py

示例2: __init__

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def __init__(self, args, n_users, n_items, n_entities, n_relations):
        super(MKR, self).__init__()
        self.n_user = n_users
        self.n_item = n_items
        self.n_entity = n_entities
        self.n_relation = n_relations
        self.L = args.L
        self.H = args.H
        self.dim = args.dim

        # 定義embedding矩陣
        self.user_emb_matrix = nn.Embedding(n_users, args.dim)
        self.item_emb_matrix = nn.Embedding(n_items, args.dim)
        self.entity_emb_matrix = nn.Embedding(n_entities, args.dim)
        self.relation_emb_matrix = nn.Embedding(n_relations, args.dim)

        # 定義網絡
        self.user_mlps, self.tail_mlps, self.cc_units = [], [], []
        self.kge_mlps = []
        for _ in range(args.L):
            self.user_mlps.append(Dense(args.dim, args.dim))
            self.tail_mlps.append(Dense(args.dim, args.dim))
            self.cc_units.append(CrossCompressUnit(args.dim))

        for _ in range(args.H):
            self.kge_mlps.append(Dense(args.dim * 2, args.dim * 2))

        self.kge_pred_mlp = Dense(args.dim * 2, args.dim)
        self.sigmoid = nn.Sigmoid() 
開發者ID:Randool,項目名稱:pyRecommender,代碼行數:31,代碼來源:model.py

示例3: __init__

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def __init__(self, input_dim, output_dim, model_size="small", neigh_input_dim=None,
            dropout=0., bias=True, act=tf.nn.relu, name=None, concat=False, **kwargs):
        super(MaxPoolingAggregator, self).__init__(**kwargs)

        self.dropout = dropout
        self.bias = bias
        self.act = act
        self.concat = concat

        if name is not None:
            name = '/' + name
        else:
            name = ''

        if neigh_input_dim == None:
            neigh_input_dim = input_dim

        if concat:
            self.output_dim = 2 * output_dim

        if model_size == "small":
            hidden_dim = self.hidden_dim = 50
        elif model_size == "big":
            hidden_dim = self.hidden_dim = 50

        self.mlp_layers = []
        self.mlp_layers.append(Dense(input_dim=neigh_input_dim, output_dim=hidden_dim, act=tf.nn.relu,
                                     dropout=dropout, sparse_inputs=False, logging=self.logging))

        with tf.variable_scope(self.name + name + '_vars'):

            self.vars['neigh_weights'] = glorot([hidden_dim, output_dim], name='neigh_weights')

            self.vars['self_weights'] = glorot([input_dim, output_dim], name='self_weights')

            if self.bias:
                self.vars['bias'] = zeros([self.output_dim], name='bias')

        self.input_dim = input_dim
        self.output_dim = output_dim
        self.neigh_input_dim = neigh_input_dim 
開發者ID:IBM,項目名稱:Graph2Seq,代碼行數:43,代碼來源:aggregators.py

示例4: build

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def build(self):
        samples1_list, support_sizes1_list = [], []
        for r_idx in range(self.num_relations):
            samples1, support_sizes1 = self.sample(self.inputs1, self.layer_infos[r_idx])
            samples1_list.append(samples1)
            support_sizes1_list.append(support_sizes1)
        num_samples = [layer_info.num_samples for layer_info in self.layer_infos[0]]
        self.outputs1_list = []
        dim_mult = 2 if self.concat else 1 # multiplication to get the correct output dimension
        dim_mult = dim_mult * 2
        for r_idx in range(self.num_relations):
            outputs1, self.aggregators = self.aggregate(samples1_list[r_idx], [self.features], self.dims, num_samples,
                support_sizes1, concat=self.concat, model_size=self.model_size)
            self.relation_batch = tf.tile([tf.nn.embedding_lookup(self.relation_vectors, r_idx)], [self.batch_size, 1])
            outputs1 = tf.concat([outputs1, self.relation_batch], 1)
            self.attention_weights = tf.matmul(outputs1, self.attention_vec)
            self.attention_weights = tf.tile(self.attention_weights, [1, dim_mult*self.dims[-1]])
            outputs1 = tf.multiply(self.attention_weights, outputs1)
            self.outputs1_list += [outputs1]
        # self.outputs1 = tf.reduce_mean(self.outputs1_list, 0)
        self.outputs1 = tf.stack(self.outputs1_list, 1)
        self.outputs1 = tf.reduce_sum(self.outputs1, axis=1, keepdims=False)
        self.outputs1 = tf.nn.l2_normalize(self.outputs1, 1)
        self.node_pred = layers.Dense(dim_mult*self.dims[-1], self.num_classes, 
                dropout=self.placeholders['dropout'],
                act=lambda x : x)
        # TF graph management
        self.node_preds = self.node_pred(self.outputs1)

        self._loss()
        grads_and_vars = self.optimizer.compute_gradients(self.loss)
        clipped_grads_and_vars = [(tf.clip_by_value(grad, -5.0, 5.0) if grad is not None else None, var) 
                for grad, var in grads_and_vars]
        self.grad, _ = clipped_grads_and_vars[0]
        self.opt_op = self.optimizer.apply_gradients(clipped_grads_and_vars)
        self.preds = self.predict() 
開發者ID:safe-graph,項目名稱:DGFraud,代碼行數:38,代碼來源:supervised_models.py

示例5: _build

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def _build(self):
        self.layers.append(layers.Dense(input_dim=self.input_dim,
                                 output_dim=self.dims[1],
                                 act=tf.nn.relu,
                                 dropout=self.placeholders['dropout'],
                                 sparse_inputs=False,
                                 logging=self.logging))

        self.layers.append(layers.Dense(input_dim=self.dims[1],
                                 output_dim=self.output_dim,
                                 act=lambda x: x,
                                 dropout=self.placeholders['dropout'],
                                 logging=self.logging)) 
開發者ID:safe-graph,項目名稱:DGFraud,代碼行數:15,代碼來源:models.py

示例6: _build_high_layers

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def _build_high_layers(self, args):
        # RS
        use_inner_product = True
        if use_inner_product:
            # [batch_size]
            self.scores = tf.reduce_sum(self.user_embeddings * self.item_embeddings, axis=1)
        else:
            # [batch_size, dim * 2]
            self.user_item_concat = tf.concat([self.user_embeddings, self.item_embeddings], axis=1)
            for _ in range(args.H - 1):
                rs_mlp = Dense(input_dim=args.dim * 2, output_dim=args.dim * 2)
                # [batch_size, dim * 2]
                self.user_item_concat = rs_mlp(self.user_item_concat)
                self.vars_rs.extend(rs_mlp.vars)

            rs_pred_mlp = Dense(input_dim=args.dim * 2, output_dim=1)
            # [batch_size]
            self.scores = tf.squeeze(rs_pred_mlp(self.user_item_concat))
            self.vars_rs.extend(rs_pred_mlp.vars)
        self.scores_normalized = tf.nn.sigmoid(self.scores)

        # KGE
        # [batch_size, dim * 2]
        self.head_relation_concat = tf.concat([self.head_embeddings, self.relation_embeddings], axis=1)
        for _ in range(args.H - 1):
            kge_mlp = Dense(input_dim=args.dim * 2, output_dim=args.dim * 2)
            # [batch_size, dim]
            self.head_relation_concat = kge_mlp(self.head_relation_concat)
            self.vars_kge.extend(kge_mlp.vars)

        kge_pred_mlp = Dense(input_dim=args.dim * 2, output_dim=args.dim)
        # [batch_size, 1]
        self.tail_pred = kge_pred_mlp(self.head_relation_concat)
        self.vars_kge.extend(kge_pred_mlp.vars)
        self.tail_pred = tf.nn.sigmoid(self.tail_pred)

        self.scores_kge = tf.nn.sigmoid(tf.reduce_sum(self.tail_embeddings * self.tail_pred, axis=1))
        self.rmse = tf.reduce_mean(
            tf.sqrt(tf.reduce_sum(tf.square(self.tail_embeddings - self.tail_pred), axis=1) / args.dim)) 
開發者ID:hwwang55,項目名稱:MKR,代碼行數:41,代碼來源:model.py

示例7: __init__

# 需要導入模塊: import layers [as 別名]
# 或者: from layers import Dense [as 別名]
def __init__(self, input_dim, output_dim, model_size="small", neigh_input_dim=None,
            dropout=0., bias=False, act=tf.nn.relu, name=None, concat=False, **kwargs):
        super(MaxPoolingAggregator, self).__init__(**kwargs)

        self.dropout = dropout
        self.bias = bias
        self.act = act
        self.concat = concat

        if neigh_input_dim is None:
            neigh_input_dim = input_dim

        if name is not None:
            name = '/' + name
        else:
            name = ''

        if model_size == "small":
            hidden_dim = self.hidden_dim = 512
        elif model_size == "big":
            hidden_dim = self.hidden_dim = 1024

        self.mlp_layers = []
        self.mlp_layers.append(Dense(input_dim=neigh_input_dim,
                                 output_dim=hidden_dim,
                                 act=tf.nn.relu,
                                 dropout=dropout,
                                 sparse_inputs=False,
                                 logging=self.logging))

        with tf.variable_scope(self.name + name + '_vars'):
            self.vars['neigh_weights'] = glorot([hidden_dim, output_dim],
                                                        name='neigh_weights')
           
            self.vars['self_weights'] = glorot([input_dim, output_dim],
                                                        name='self_weights')
            if self.bias:
                self.vars['bias'] = zeros([self.output_dim], name='bias')

        if self.logging:
            self._log_vars()

        self.input_dim = input_dim
        self.output_dim = output_dim
        self.neigh_input_dim = neigh_input_dim 
開發者ID:safe-graph,項目名稱:DGFraud,代碼行數:47,代碼來源:aggregators.py


注:本文中的layers.Dense方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。