📜  TensorFlow – 如何创建与输入张量具有相同形状的所有张量(1)

📅  最后修改于: 2023-12-03 15:35:16.885000             🧑  作者: Mango

TensorFlow – 如何创建与输入张量具有相同形状的所有张量

在TensorFlow中,我们可以使用tf.ones_like和tf.zeros_like函数来创建形状和输入张量相同的张量。这些函数可以非常方便地创建相同形状的张量,无需手动指定形状。

tf.ones_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函数

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函数就非常方便。