具有动态形状TensorFlow的变量

时间:2017-04-06 18:23:55

标签: python numpy tensorflow tflearn

我需要在TensorFlow中创建一个矩阵来存储一些值。诀窍是矩阵必须支持动态形状。

我正在努力做我在numpy中所做的事情:

myVar = tf.Variable(tf.zeros((x,y), validate_shape=False)

其中x=(?)y=2。但这不起作用,因为零不支持'部分已知的TensorShape',所以,我应该如何在TensorFlow中执行此操作?

2 个答案:

答案 0 :(得分:1)

1)您可以使用适用于动态形状的tf.fill(dims, value=0.0)

2)您可以使用占位符作为变量维度,例如:

m = tf.placeholder(tf.int32, shape=[])
x = tf.zeros(shape=[m])

with tf.Session() as sess:
    print(sess.run(x, feed_dict={m: 5}))

答案 1 :(得分:0)

如果你知道会话的形状,这可能会有所帮助。

import tensorflow as tf
import numpy as np

v = tf.Variable([], validate_shape=False)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(v, feed_dict={v: np.zeros((3,4))}))
    print(sess.run(v, feed_dict={v: np.zeros((2,2))}))