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

Method _embedding_input_layer

modelzoo/din/train.py:259–349  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

257 return embedding
258
259 def _embedding_input_layer(self):
260 for key in SEQ_COLUMNS:
261 self._feature[key] = tf.strings.split(self._feature[key], '')
262 self._feature[key] = tf.sparse.slice(
263 self._feature[key], [0, 0], [self._batch_size, MAX_SEQ_LENGTH])
264
265 # get uid embeddings
266 if self._adaptive_emb and not self.tf:
267 '''Adaptive Embedding Feature Part 1 of 2'''
268 adaptive_mask_tensors = {
269 'UID': tf.ones([args.batch_size], tf.int32)
270 }
271 uid_emb = tf.feature_column.input_layer(
272 self._feature,
273 self._uid_emb_column,
274 adaptive_mask_tensors=adaptive_mask_tensors)
275 else:
276 uid_emb = tf.feature_column.input_layer(self._feature,
277 self._uid_emb_column)
278 # get embeddings of item and category
279 # create embedding table
280 if self._ev and not self.tf:
281 '''Embedding Variable Feature with get embedding variable API'''
282 item_embedding_var = tf.get_embedding_variable(
283 'item_embedding_var',
284 self._embedding_dim,
285 ev_option=self._ev_opt)
286 category_embedding_var = tf.get_embedding_variable(
287 'category_embedding_var',
288 self._embedding_dim,
289 ev_option=self._ev_opt)
290 elif self._multihash and not self.tf:
291 '''Multi-Hash Variable'''
292 item_embedding_var = tf.get_multihash_variable(
293 'item_embedding_var',
294 [[
295 int(self._item_cate_column._num_buckets**0.5),
296 self._embedding_dim
297 ],
298 [
299 int(self._item_cate_column._num_buckets /
300 int(self._item_cate_column._num_buckets**0.5)),
301 self._embedding_dim
302 ]])
303 category_embedding_var = tf.get_multihash_variable(
304 'category_embedding_var',
305 [[
306 int(self._category_cate_column._num_buckets**0.5),
307 self._embedding_dim
308 ],
309 [
310 int(self._category_cate_column._num_buckets /
311 int(self._category_cate_column._num_buckets**0.5)),
312 self._embedding_dim
313 ]])
314 else:
315 item_embedding_var = tf.get_variable(
316 'item_embedding_var',

Callers 1

_create_modelMethod · 0.95

Calls 9

_get_embedding_inputMethod · 0.95
_LazyBuilderClass · 0.90
sliceMethod · 0.80
onesMethod · 0.80
splitMethod · 0.45
get_variableMethod · 0.45
concatMethod · 0.45

Tested by

no test coverage detected