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

Method _configure_embeddings

tensorflow/python/keras/callbacks.py:1519–1556  ·  view source on GitHub ↗

Configure the Projector for embeddings.

(self)

Source from the content-addressed store, hash-verified

1517 self._prev_summary_step = context.context().summary_step
1518
1519 def _configure_embeddings(self):
1520 """Configure the Projector for embeddings."""
1521 # TODO(omalleyt): Add integration tests.
1522 from tensorflow.python.keras.layers import embeddings
1523 try:
1524 from tensorboard.plugins import projector
1525 except ImportError:
1526 raise ImportError('Failed to import TensorBoard. Please make sure that '
1527 'TensorBoard integration is complete."')
1528 config = projector.ProjectorConfig()
1529 for layer in self.model.layers:
1530 if isinstance(layer, embeddings.Embedding):
1531 embedding = config.embeddings.add()
1532 embedding.tensor_name = layer.embeddings.name
1533
1534 if self.embeddings_metadata is not None:
1535 if isinstance(self.embeddings_metadata, str):
1536 embedding.metadata_path = self.embeddings_metadata
1537 else:
1538 if layer.name in embedding.metadata_path:
1539 embedding.metadata_path = self.embeddings_metadata.pop(layer.name)
1540
1541 if self.embeddings_metadata:
1542 raise ValueError('Unrecognized `Embedding` layer names passed to '
1543 '`keras.callbacks.TensorBoard` `embeddings_metadata` '
1544 'argument: ' + str(self.embeddings_metadata.keys()))
1545
1546 class DummyWriter(object):
1547 """Dummy writer to conform to `Projector` API."""
1548
1549 def __init__(self, logdir):
1550 self.logdir = logdir
1551
1552 def get_logdir(self):
1553 return self.logdir
1554
1555 writer = DummyWriter(self.log_dir)
1556 projector.visualize_embeddings(writer, config)
1557
1558 def _close_writers(self):
1559 """Close all remaining open file writers owned by this callback.

Callers 1

set_modelMethod · 0.95

Calls 4

DummyWriterClass · 0.85
addMethod · 0.45
popMethod · 0.45
keysMethod · 0.45

Tested by

no test coverage detected