本文整理匯總了Python中tensorflow.compat.v1.identity方法的典型用法代碼示例。如果您正苦於以下問題:Python v1.identity方法的具體用法?Python v1.identity怎麽用?Python v1.identity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類tensorflow.compat.v1
的用法示例。
在下文中一共展示了v1.identity方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _build_aux_head
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def _build_aux_head(net, end_points, num_classes, hparams, scope):
"""Auxiliary head used for all models across all datasets."""
with tf.variable_scope(scope):
aux_logits = tf.identity(net)
with tf.variable_scope('aux_logits'):
aux_logits = slim.avg_pool2d(
aux_logits, [5, 5], stride=3, padding='VALID')
aux_logits = slim.conv2d(aux_logits, 128, [1, 1], scope='proj')
aux_logits = slim.batch_norm(aux_logits, scope='aux_bn0')
aux_logits = tf.nn.relu(aux_logits)
# Shape of feature map before the final layer.
shape = aux_logits.shape
if hparams.data_format == 'NHWC':
shape = shape[1:3]
else:
shape = shape[2:4]
aux_logits = slim.conv2d(aux_logits, 768, shape, padding='VALID')
aux_logits = slim.batch_norm(aux_logits, scope='aux_bn1')
aux_logits = tf.nn.relu(aux_logits)
aux_logits = contrib_layers.flatten(aux_logits)
aux_logits = slim.fully_connected(aux_logits, num_classes)
end_points['AuxLogits'] = aux_logits
示例2: simulate
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def simulate(self, action):
# There is subtlety here. We need to collect data
# obs, action = policy(obs), done, reward = env(abs, action)
# Thus we need to enqueue data before assigning new observation
reward, done = self._batch_env.simulate(action)
with tf.control_dependencies([reward, done]):
enqueue_op = self.speculum.enqueue(
[self._observ.read_value(), reward, done, action])
with tf.control_dependencies([enqueue_op]):
assign = self._observ.assign(self._batch_env.observ)
with tf.control_dependencies([assign]):
return tf.identity(reward), tf.identity(done)
示例3: simulate
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def simulate(self, action):
reward, done = self._batch_env.simulate(action)
with tf.control_dependencies([reward, done]):
new_observ = tf.expand_dims(self._batch_env.observ, axis=1)
# If we shouldn't stack, i.e. self.history == 1, then just assign
# new_observ to self._observ and return from here.
if self.history == 1:
with tf.control_dependencies([self._observ.assign(new_observ)]):
return tf.identity(reward), tf.identity(done)
# If we should stack, then do the required work.
old_observ = tf.gather(
self._observ.read_value(),
list(range(1, self.history)),
axis=1)
with tf.control_dependencies([new_observ, old_observ]):
with tf.control_dependencies([self._observ.assign(
tf.concat([old_observ, new_observ], axis=1))]):
return tf.identity(reward), tf.identity(done)
示例4: weight_decay_and_noise
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def weight_decay_and_noise(loss, hparams, learning_rate, var_list=None):
"""Apply weight decay and weight noise."""
if var_list is None:
var_list = tf.trainable_variables()
decay_vars = [v for v in var_list]
noise_vars = [v for v in var_list if "/body/" in v.name]
weight_decay_loss = weight_decay(hparams.weight_decay, decay_vars)
if hparams.weight_decay and common_layers.should_generate_summaries():
tf.summary.scalar("losses/weight_decay", weight_decay_loss)
weight_noise_ops = weight_noise(hparams.weight_noise, learning_rate,
noise_vars)
with tf.control_dependencies(weight_noise_ops):
loss = tf.identity(loss)
loss += weight_decay_loss
return loss
示例5: infer
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def infer(self,
features=None,
decode_length=1,
beam_size=1,
top_beams=1,
alpha=0.0,
use_tpu=False):
"""Predict."""
features["targets"] = tf.identity(features["inputs"])
logits, _ = self(features)
log_probs = common_layers.log_prob_from_logits(logits)
predictions, scores = common_layers.argmax_with_score(log_probs)
return {
"outputs": predictions,
"scores": scores,
}
示例6: post_attention
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def post_attention(self, token, x):
"""Called after self-attention. The memory can be updated here.
Args:
token: Data returned by pre_attention, which can be used to carry over
state related to the current memory operation.
x: a Tensor of data after self-attention and feed-forward
Returns:
a (possibly modified) version of the input x
"""
with tf.control_dependencies([
self.previous_segment.assign(token[0]),
self.previous_vals.assign(token[1]),
self.previous_bias.assign(token[2]),
]):
return tf.identity(x)
示例7: _finalize
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def _finalize(self, _, contents):
"""Structure output and compute segment and position metadata."""
# The output shape information is lost during the filter; however we can
# guarantee the shape. (That's the point of this exercise, after all!)
contents.set_shape((self._packed_length, self._num_sequences * 2))
# Both the dummy branch of the scan step function and the eviction dataset
# use vectors of minus one. The cost of this check is negligible and the
# leakage of such dummy sequences would be difficult to debug downstream.
check_leaks = tf.assert_none_equal(contents, -tf.ones_like(contents))
with tf.control_dependencies([check_leaks]):
contents = tf.identity(contents)
segment, position = self._compute_auxiliary_structure(contents)
return {"contents": contents[:, :self._num_sequences],
"segment": segment, "position": position}
示例8: write_to_variable
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def write_to_variable(tensor, fail_if_exists=True):
"""Saves a tensor for later retrieval on CPU."""
# Only relevant for debugging.
debug_name = 'tpu_util__' + tensor.name.split(':')[0]
reuse = False if fail_if_exists else tf.compat.v1.AUTO_REUSE
with tf.variable_scope(top_level_scope, reuse=reuse):
variable = tf.get_variable(
name=debug_name,
shape=tensor.shape,
dtype=tensor.dtype,
trainable=False,
use_resource=True)
var_store[tensor] = variable
with tf.control_dependencies([variable.assign(tensor)]):
tensor_copy = tf.identity(tensor)
var_store[tensor_copy] = variable
return tensor_copy
示例9: test_resource_variable
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def test_resource_variable(self):
with tf.variable_scope('', use_resource=True):
relu = self.build_model()
gamma_tensor, gamma_source_op = self.get_gamma(relu)
variable = tpu_util.maybe_convert_to_variable(gamma_tensor)
# First assert that we didn't return the original tensor
self.assertNotEqual(variable, gamma_tensor)
# Now check that the variable created by maybe_convert_to_variable is
# driven by the same op as the tensor passed as input.
self.assertEqual(variable.op, gamma_source_op)
# If input tensor is separated from a variable by an extra hop of Identity,
# maybe_read_variable pretends the Identity op isn't there.
identity_tensor = tf.identity(gamma_tensor)
self.assertEqual(
tpu_util.maybe_convert_to_variable(identity_tensor), variable)
示例10: test_assign_grouping_no_neighbor_groups
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def test_assign_grouping_no_neighbor_groups(self):
# No ops have groups.
self.op_group_dict = {}
# Call handler to assign grouping.
handler = depth_to_space_op_handler.DepthToSpaceOpHandler()
handler.assign_grouping(self.dts_op, self.mock_op_reg_manager)
# Verify manager looks up OpSlice for ops of interest.
self.mock_op_reg_manager.get_op_slices.assert_has_calls(
[mock.call(self.id1_op),
mock.call(self.id2_op)])
# Verify manager does not group.
self.mock_op_reg_manager.group_op_slices.assert_not_called()
# Verify manager processes grouping for identity ops.
self.mock_op_reg_manager.process_ops.assert_called_once_with(
[self.id1_op])
示例11: testGetRegularizerForConcatWithNone
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def testGetRegularizerForConcatWithNone(self, test_concat, depth):
image = tf.constant(0.0, shape=[1, 17, 19, 3])
conv2 = layers.conv2d(image, 5, [1, 1], padding='SAME', scope='conv2')
other_input = tf.add(
tf.identity(tf.constant(3.0, shape=[1, 17, 19, depth])), 3.0)
# other_input has None as regularizer.
concat = tf.concat([other_input, conv2], 3)
output = tf.add(concat, concat, name='output_out')
op = concat.op if test_concat else output.op
# Instantiate OpRegularizerManager.
op_handler_dict = self._default_op_handler_dict
op_handler_dict['Conv2D'] = StubConvSourceOpHandler(add_concat_model_stub)
op_reg_manager = orm.OpRegularizerManager([output.op], op_handler_dict)
expected_alive = add_concat_model_stub.expected_alive()
alive = op_reg_manager.get_regularizer(op).alive_vector
self.assertAllEqual([True] * depth, alive[:depth])
self.assertAllEqual(expected_alive['conv2'], alive[depth:])
示例12: testAddN
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def testAddN(self):
inputs = tf.zeros([2, 4, 4, 3])
identity1 = tf.identity(inputs)
identity2 = tf.identity(inputs)
identity3 = tf.identity(inputs)
identity4 = tf.identity(inputs)
add_n = tf.add_n([identity1, identity2, identity3, identity4])
batch_norm = layers.batch_norm(add_n)
manager = orm.OpRegularizerManager(
[batch_norm.op], op_handler_dict=self._default_op_handler_dict)
op_slices = manager.get_op_slices(identity1.op)
self.assertLen(op_slices, 1)
op_group = manager.get_op_group(op_slices[0]).op_slices
# Verify all ops are in the same group.
for test_op in (identity1.op, identity2.op, identity3.op, identity4.op,
add_n.op, batch_norm.op):
test_op_slices = manager.get_op_slices(test_op)
self.assertLen(test_op_slices, 1)
self.assertIn(test_op_slices[0], op_group)
示例13: testAddN_Duplicates
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def testAddN_Duplicates(self):
inputs = tf.zeros([2, 4, 4, 3])
identity = tf.identity(inputs)
add_n = tf.add_n([identity, identity, identity, identity])
batch_norm = layers.batch_norm(add_n)
manager = orm.OpRegularizerManager(
[batch_norm.op], op_handler_dict=self._default_op_handler_dict)
op_slices = manager.get_op_slices(identity.op)
self.assertLen(op_slices, 1)
op_group = manager.get_op_group(op_slices[0]).op_slices
# Verify all ops are in the same group.
for test_op in (identity.op, add_n.op, batch_norm.op):
test_op_slices = manager.get_op_slices(test_op)
self.assertLen(test_op_slices, 1)
self.assertIn(test_op_slices[0], op_group)
示例14: testInit_AddConcat_AllOps
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def testInit_AddConcat_AllOps(self):
with arg_scope(self._batch_norm_scope()):
inputs = tf.zeros([2, 4, 4, 3])
c1 = layers.conv2d(inputs, num_outputs=10, kernel_size=3, scope='conv1')
c2 = layers.conv2d(inputs, num_outputs=10, kernel_size=3, scope='conv2')
add = c1 + c2
c3 = layers.conv2d(add, num_outputs=10, kernel_size=3, scope='conv3')
out = tf.identity(c3)
concat = tf.concat([c1, c2], axis=3)
c4 = layers.conv2d(concat, num_outputs=10, kernel_size=3, scope='conv4')
manager = orm.OpRegularizerManager(
[out.op], self._default_op_handler_dict, SumGroupingRegularizer)
# Op c4 is not in the DFS path of out. Verify that OpRegularizerManager
# does not process c4.
self.assertNotIn(c4.op, manager.ops)
self.assertNotIn(concat.op, manager.ops)
示例15: testProcessOps_DuplicatesRemoved
# 需要導入模塊: from tensorflow.compat import v1 [as 別名]
# 或者: from tensorflow.compat.v1 import identity [as 別名]
def testProcessOps_DuplicatesRemoved(self):
inputs = tf.zeros([2, 4, 4, 3])
batch_norm = layers.batch_norm(inputs)
identity1 = tf.identity(batch_norm)
identity2 = tf.identity(batch_norm)
manager = orm.OpRegularizerManager(
[identity1.op, identity2.op],
op_handler_dict=self._default_op_handler_dict)
manager.process_ops([identity1.op, identity2.op, batch_norm.op])
# Try to process the same ops again.
manager.process_ops([identity1.op, identity2.op, batch_norm.op])
self.assertLen(manager._op_deque, 3)
self.assertEqual(batch_norm.op, manager._op_deque.pop())
self.assertEqual(identity2.op, manager._op_deque.pop())
self.assertEqual(identity1.op, manager._op_deque.pop())