创建一个占位符,其形状是另一个形状的函数

Posted

技术标签:

【中文标题】创建一个占位符,其形状是另一个形状的函数【英文标题】:Creating a placeholder having a shape that is a function of another shape 【发布时间】:2019-02-08 01:46:02 【问题描述】:

假设我们有一个tensorflow占位符如下:

x = tf.placeholder(tf.float32, (2, 2, 3 ..., 1))

我想创建另一个张量y,其形状与x 相同,除了第一和第二维是x 的三倍。

y = tf.placeholder(tf.float32, (6, 6, 3, ..., 1))

x 的形状不是预定义的,所以我想要做的是这样的:

y = tf.placeholder(tf.float32, (x.shape[0]* 3, x.shape[1] * 3, remaining_are_the_same_as_x_shape))

你能建议我如何在 tensorflow 中做到这一点吗?

【问题讨论】:

【参考方案1】:

这个呢?

x = tf.placeholder(tf.float32, (2, 2, 3 , 1))

shape = x.get_shape().as_list()
shape[0] = shape[0] * 3
shape[1] = shape[1] * 3

y = tf.placeholder(tf.float32, shape=shape)
shape = y.get_shape().as_list()
print(shape)

[6, 6, 3, 1]

【讨论】:

以上是关于创建一个占位符,其形状是另一个形状的函数的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow 占位符依赖于其他占位符

GPU 上的 tf.reduce_sum 结合占位符作为输入形状失败

Grad-CAM 可视化:无效参数错误:您必须使用 dtype 浮点数和形状 [x] 为占位符张量“X”提供一个值

使用空占位符将图像插入幻灯片(PowerPoint)

PowerPoint2010占位符

占位符怎么设置