2

X私は形状のテンソルを持ってい(T, n, k)ます。

事前に形状を知っていれば、形状を変更するのは簡単です。テンソルtf.reshape(X, (T * n, k))T, n, kはなく、int です。しかし、形がわからない場合、これを行う方法はありますか。形を整えたり、形を変えたりshape = tf.shape(X)してもうまくいかないようです。あれは、

tf.reshape(X, (tf.shape[0] * tf.shape[1], tf.shape[2]))

何か案は?私のアプリケーションでは、T実行k前に認識されますがn、実行時にのみ認識されます。

4

2 に答える 2

5

これを見てください:

import tensorflow as tf

a, b, c = 2, 3, 4
x = tf.Variable(tf.random_normal([a, b, c], mean=0.0, stddev=1.0, dtype=tf.float32))
s = tf.shape(x)

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
v1, v2, v3 = sess.run(s)
y = tf.reshape(x, [v1 * v2, v3])
shape = tf.shape(y)

print sess.run(y)
print sess.run(shape)

初期化後に変数の形状を取得し、後で使用します。同様のことを扱っているので、この回答も見てください。

于 2015-11-14T06:43:31.990 に答える