如何在TensorFlow中创建指定形状、值为0.9的张量?
生成元素全为0.9的TensorFlow张量
嘿,这事儿其实很好解决,咱们可以顺着tf.ones_like()的思路来,给你分享几个实用的方法:
方法1:基于tf.ones_like()扩展(适配已有参考张量)
如果你已经有一个参考张量(就像用tf.ones_like()时的输入张量),直接对ones_like的结果乘以0.9就行,完美复刻ones_like的使用场景:
import tensorflow as tf # 假设你有一个参考张量ref_tensor ref_tensor = tf.random.normal(shape=(2, 3)) # 生成和ref_tensor形状相同、元素全为0.9的张量 tensor_09 = tf.ones_like(ref_tensor) * 0.9
方法2:直接用tf.fill()(已知目标形状时更便捷)
如果你已经明确知道目标张量的形状,不用参考张量的话,tf.fill()是更直接的选择,一步到位:
# 生成形状为(4, 5)、元素全为0.9的张量 tensor_09 = tf.fill(shape=(4, 5), value=0.9)
方法3:用tf.broadcast_to()实现广播生成
另一种灵活的方式是利用TensorFlow的广播机制,把标量0.9广播成目标形状:
# 以参考张量的形状为例 ref_tensor = tf.constant([[1,2],[3,4]]) tensor_09 = tf.broadcast_to(0.9, shape=tf.shape(ref_tensor))
这几种方法都能达到你要的效果,选哪种就看你有没有参考张量、是否明确知道目标形状啦~
内容的提问来源于stack exchange,提问作者David Romero
相关产品推荐
相关产品推荐

