MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / DIN

Class DIN

modelzoo/din/train.py:50–434  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48
49
50class DIN():
51 def __init__(self,
52 feature_column=None,
53 learning_rate=0.001,
54 embedding_dim=16,
55 hidden_size=36,
56 attention_size=36,
57 inputs=None,
58 optimizer_type='adam',
59 bf16=False,
60 stock_tf=None,
61 emb_fusion=None,
62 ev=None,
63 ev_elimination=None,
64 ev_filter=None,
65 adaptive_emb=None,
66 dynamic_ev=None,
67 ev_opt=None,
68 multihash=None,
69 input_layer_partitioner=None,
70 dense_layer_partitioner=None):
71 if not inputs:
72 raise ValueError('Dataset is not defined.')
73 if not feature_column:
74 raise ValueError('Dense column or sparse column is not defined.')
75 self._feature = inputs[0]
76 self._label = inputs[1]
77
78 self._uid_emb_column = feature_column['uid_emb_column']
79 self._item_cate_column = feature_column['item_cate_column']
80 self._his_item_cate_column = feature_column['his_item_cate_column']
81 self._category_cate_column = feature_column['category_cate_column']
82 self._his_category_cate_column = feature_column[
83 'his_category_cate_column']
84
85 self.tf = stock_tf
86 self.bf16 = False if self.tf else bf16
87 self.is_training = True
88 self._emb_fusion = emb_fusion
89 self._adaptive_emb = adaptive_emb
90 self._ev = ev
91 self._ev_elimination = ev_elimination
92 self._ev_filter = ev_filter
93 self._dynamic_ev = dynamic_ev
94 self._ev_opt = ev_opt
95 self._multihash = multihash
96
97 self._learning_rate = learning_rate
98 self._optimizer_type = optimizer_type
99 self._input_layer_partitioner = input_layer_partitioner
100 self._dense_layer_partitioner = dense_layer_partitioner
101
102 self._batch_size = tf.shape(self._label)[0]
103 self._embedding_dim = embedding_dim
104 self._hidden_size = hidden_size
105 self._attention_size = attention_size
106 self._data_type = tf.bfloat16 if self.bf16 else tf.float32
107

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected