📅  最后修改于: 2023-12-03 15:35:16.885000             🧑  作者: Mango
在TensorFlow中,我们可以使用tf.ones_like和tf.zeros_like函数来创建形状和输入张量相同的张量。这些函数可以非常方便地创建相同形状的张量,无需手动指定形状。
tf.ones_like函数可以创建一个所有元素均为1的张量,并且这个张量的形状和输入张量相同。
import tensorflow as tf
# 定义一个输入张量x
x = tf.constant([[1, 2], [3, 4]])
# 使用tf.ones_like函数创建一个所有元素均为1的张量same_shape
same_shape = tf.ones_like(x)
# 输出same_shape
print(same_shape)
输出结果:
tf.Tensor(
[[1 1]
[1 1]], shape=(2, 2), dtype=int32)
tf.zeros_like函数可以创建一个所有元素均为0的张量,并且这个张量的形状和输入张量相同。
import tensorflow as tf
# 定义一个输入张量x
x = tf.constant([[1, 2], [3, 4]])
# 使用tf.zeros_like函数创建一个所有元素均为0的张量same_shape
same_shape = tf.zeros_like(x)
# 输出same_shape
print(same_shape)
输出结果:
tf.Tensor(
[[0 0]
[0 0]], shape=(2, 2), dtype=int32)
在实际使用中,我们经常需要创建与输入张量形状相同的全1或全0张量,这时候tf.ones_like和tf.zeros_like函数就非常方便。