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

Method _embedding_input_layer

modelzoo/dien/train.py:369–469  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

367 return embedding
368
369 def _embedding_input_layer(self):
370 for key in SEQ_COLUMNS:
371 self._feature[key] = tf.strings.split(self._feature[key], '')
372 self._feature[key] = tf.sparse.slice(
373 self._feature[key], [0, 0], [self._batch_size, MAX_SEQ_LENGTH])
374
375 # get uid embeddings
376 if self._adaptive_emb and not self.tf:
377 '''Adaptive Embedding Feature Part 1 of 2'''
378 adaptive_mask_tensors = {
379 'UID': tf.ones([args.batch_size], tf.int32)
380 }
381 uid_emb = tf.feature_column.input_layer(
382 self._feature,
383 self._uid_emb_column,
384 adaptive_mask_tensors=adaptive_mask_tensors)
385 else:
386 uid_emb = tf.feature_column.input_layer(self._feature,
387 self._uid_emb_column)
388 # get embeddings of item and category
389 # create embedding table
390 if self._ev and not self.tf:
391 '''Embedding Variable Feature with get embedding variable API'''
392 item_embedding_var = tf.get_embedding_variable(
393 'item_embedding_var',
394 self._embedding_dim,
395 ev_option=self._ev_opt)
396 category_embedding_var = tf.get_embedding_variable(
397 'category_embedding_var',
398 self._embedding_dim,
399 ev_option=self._ev_opt)
400 elif self._multihash and not self.tf:
401 '''Multi-Hash Variable'''
402 item_embedding_var = tf.get_multihash_variable(
403 'item_embedding_var',
404 [[
405 int(self._item_cate_column._num_buckets**0.5),
406 self._embedding_dim
407 ],
408 [
409 int(self._item_cate_column._num_buckets /
410 int(self._item_cate_column._num_buckets**0.5)),
411 self._embedding_dim
412 ]])
413 category_embedding_var = tf.get_multihash_variable(
414 'category_embedding_var',
415 [[
416 int(self._category_cate_column._num_buckets**0.5),
417 self._embedding_dim
418 ],
419 [
420 int(self._category_cate_column._num_buckets /
421 int(self._category_cate_column._num_buckets**0.5)),
422 self._embedding_dim
423 ]])
424 else:
425 item_embedding_var = tf.get_variable(
426 '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