对于需要shape参数的tensorflow函数,我们如何将动态形状作为输入参数之一?
例如,假设我有一个占位符
x
现在我想创建一个与r = tf.random_uniform([x.get_shape()[0]])
的第一维相同形状的一维随机张量。
x.get_shape()[0]
这不起作用,因为r
将返回静态形状“无”。有没有办法根据x
的动态形状为{{1}}分配动态形状?
答案 0 :(得分:1)
您可以使用tf.shape()
op获取张量的动态形状,并将其用作tf.random_uniform()
的参数:
x = tf.placeholder(tf.float32, [None, 3])
r = tf.random_uniform(tf.shape(x)[0:1])
(请注意,tf.shape(x)
的切片,即[0:1]
必须指定范围而不是单个元素,因为tf.random_uniform()
需要尺寸向量。)
答案 1 :(得分:0)
void functionA(argument1, argument2) {
...
struct1 *point[2];
...
functionB(point, ...) // Call the function ?
}
// Declare the function ?
void functionB(struct1 ** point, ...) {
// Use point[1] and point[2] here
}
[0.69890845 0.64149153 0.16378665 0.89732885]