本文整理匯總了Python中dragnn.python.digraph_ops.ArcPotentialsFromTokens方法的典型用法代碼示例。如果您正苦於以下問題:Python digraph_ops.ArcPotentialsFromTokens方法的具體用法?Python digraph_ops.ArcPotentialsFromTokens怎麽用?Python digraph_ops.ArcPotentialsFromTokens使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類dragnn.python.digraph_ops
的用法示例。
在下文中一共展示了digraph_ops.ArcPotentialsFromTokens方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: testArcPotentialsFromTokens
# 需要導入模塊: from dragnn.python import digraph_ops [as 別名]
# 或者: from dragnn.python.digraph_ops import ArcPotentialsFromTokens [as 別名]
def testArcPotentialsFromTokens(self):
with self.test_session():
# Batch of two, where the second batch item is the reverse of the first.
source_tokens = tf.constant([[[1, 2],
[2, 3],
[3, 4]],
[[3, 4],
[2, 3],
[1, 2]]], tf.float32)
target_tokens = tf.constant([[[4, 5, 6],
[5, 6, 7],
[6, 7, 8]],
[[6, 7, 8],
[5, 6, 7],
[4, 5, 6]]], tf.float32)
weights = tf.constant([[2, 3, 5],
[7, 11, 13]],
tf.float32)
arcs = digraph_ops.ArcPotentialsFromTokens(source_tokens, target_tokens,
weights)
# For example,
# ((1 * 2 * 4 + 1 * 3 * 5 + 1 * 5 * 6) +
# (2 * 7 * 4 + 2 * 11 * 5 + 2 * 13 * 6)) = 375
self.assertAllEqual(arcs.eval(),
[[[375, 447, 519],
[589, 702, 815],
[803, 957, 1111]],
[[1111, 957, 803], # reflected through the center
[815, 702, 589],
[519, 447, 375]]])
示例2: testArcPotentialsFromTokens
# 需要導入模塊: from dragnn.python import digraph_ops [as 別名]
# 或者: from dragnn.python.digraph_ops import ArcPotentialsFromTokens [as 別名]
def testArcPotentialsFromTokens(self):
with self.test_session():
# Batch of two, where the second batch item is the reverse of the first.
source_tokens = tf.constant([[[1, 2],
[2, 3],
[3, 4]],
[[3, 4],
[2, 3],
[1, 2]]],
tf.float32) # pyformat: disable
target_tokens = tf.constant([[[4, 5, 6],
[5, 6, 7],
[6, 7, 8]],
[[6, 7, 8],
[5, 6, 7],
[4, 5, 6]]],
tf.float32) # pyformat: disable
weights = tf.constant([[2, 3, 5],
[7, 11, 13]],
tf.float32) # pyformat: disable
arcs = digraph_ops.ArcPotentialsFromTokens(source_tokens, target_tokens,
weights)
# For example,
# ((1 * 2 * 4 + 1 * 3 * 5 + 1 * 5 * 6) +
# (2 * 7 * 4 + 2 * 11 * 5 + 2 * 13 * 6)) = 375
self.assertAllEqual(arcs.eval(),
[[[375, 447, 519],
[589, 702, 815],
[803, 957, 1111]],
[[1111, 957, 803], # reflected through the center
[815, 702, 589],
[519, 447, 375]]]) # pyformat: disable
示例3: create
# 需要導入模塊: from dragnn.python import digraph_ops [as 別名]
# 或者: from dragnn.python.digraph_ops import ArcPotentialsFromTokens [as 別名]
def create(self,
fixed_embeddings,
linked_embeddings,
context_tensor_arrays,
attention_tensor,
during_training,
stride=None):
"""Requires |stride|; otherwise see base class."""
check.NotNone(stride,
'BiaffineDigraphNetwork requires "stride" and must be called '
'in the bulk feature extractor component.')
# TODO(googleuser): Add dropout during training.
del during_training
# Retrieve (possibly averaged) weights.
weights_arc = self._component.get_variable('weights_arc')
weights_source = self._component.get_variable('weights_source')
root = self._component.get_variable('root')
# Extract the source and target token activations. Use |stride| to collapse
# batch and beam into a single dimension.
sources = network_units.lookup_named_tensor('sources', linked_embeddings)
targets = network_units.lookup_named_tensor('targets', linked_embeddings)
source_tokens_bxnxs = tf.reshape(sources.tensor,
[stride, -1, self._source_dim])
target_tokens_bxnxt = tf.reshape(targets.tensor,
[stride, -1, self._target_dim])
num_tokens = tf.shape(source_tokens_bxnxs)[1]
# Compute the arc, source, and root potentials.
arcs_bxnxn = digraph_ops.ArcPotentialsFromTokens(
source_tokens_bxnxs, target_tokens_bxnxt, weights_arc)
sources_bxnxn = digraph_ops.ArcSourcePotentialsFromTokens(
source_tokens_bxnxs, weights_source)
roots_bxn = digraph_ops.RootPotentialsFromTokens(
root, target_tokens_bxnxt, weights_arc)
# Combine them into a single matrix with the roots on the diagonal.
adjacency_bxnxn = digraph_ops.CombineArcAndRootPotentials(
arcs_bxnxn + sources_bxnxn, roots_bxn)
return [tf.reshape(adjacency_bxnxn, [-1, num_tokens])]
示例4: create
# 需要導入模塊: from dragnn.python import digraph_ops [as 別名]
# 或者: from dragnn.python.digraph_ops import ArcPotentialsFromTokens [as 別名]
def create(self,
fixed_embeddings,
linked_embeddings,
context_tensor_arrays,
attention_tensor,
during_training,
stride=None):
"""Requires |stride|; otherwise see base class."""
check.NotNone(stride,
'BiaffineDigraphNetwork requires "stride" and must be called '
'in the bulk feature extractor component.')
# TODO(googleuser): Add dropout during training.
del during_training
# Retrieve (possibly averaged) weights.
weights_arc = self._component.get_variable('weights_arc')
weights_source = self._component.get_variable('weights_source')
root = self._component.get_variable('root')
# Extract the source and target token activations. Use |stride| to collapse
# batch and beam into a single dimension.
sources = network_units.lookup_named_tensor('sources', linked_embeddings)
targets = network_units.lookup_named_tensor('targets', linked_embeddings)
source_tokens_bxnxs = tf.reshape(sources.tensor,
[stride, -1, self._source_dim])
target_tokens_bxnxt = tf.reshape(targets.tensor,
[stride, -1, self._target_dim])
num_tokens = tf.shape(source_tokens_bxnxs)[1]
# Compute the arc, source, and root potentials.
arcs_bxnxn = digraph_ops.ArcPotentialsFromTokens(
source_tokens_bxnxs, target_tokens_bxnxt, weights_arc)
sources_bxnxn = digraph_ops.ArcSourcePotentialsFromTokens(
source_tokens_bxnxs, weights_source)
roots_bxn = digraph_ops.RootPotentialsFromTokens(
root, target_tokens_bxnxt, weights_arc, weights_source)
# Combine them into a single matrix with the roots on the diagonal.
adjacency_bxnxn = digraph_ops.CombineArcAndRootPotentials(
arcs_bxnxn + sources_bxnxn, roots_bxn)
# The adjacency matrix currently has sources on rows and targets on columns,
# but we want targets on rows so that maximizing within a row corresponds to
# selecting sources for a given target.
adjacency_bxnxn = tf.matrix_transpose(adjacency_bxnxn)
return [tf.reshape(adjacency_bxnxn, [-1, num_tokens])]