2016-12-01 3 views
1

をベクトルに1次元テンソルを転送するために、その形状は[4,1] I、Iは2行列 a=tf.placeholder(tf.float32,[4,2]); b=tf.placeholder(tf.float32,[2]) を有します複数のそれら:c=tf.mul(a,tf.expand_dims(b,1))Tensorflow、今は1-Dテンソルを持ってどのようにTensorFlow総初心者だ

私は[4,1]行列を得ました。それは2-Dテンソルですが、私はそれを1次元テンソルに変更したい、それはベクトルであり、その形状は[4,1]ではなく[4]であることを意味します。

tf.shapeはtf.shape[c]=[4 1],not [4]

は、誰もがこれを行う方法を教えてもらえますことを示して?どうもありがとう。

答えて

1

tf.squeezeまたはtf.reshapeと思っていますか?

a = tf.constant(1.0, shape=[4, 2]) 
b = tf.constant(1.0, shape=[2]) 
c = tf.matmul(a, tf.expand_dims(b,1)) 
c = tf.squeeze(c) 

# This will also work: 
# c = tf.reshape(c, [4]) 

あなたは行列の乗算の代わりに、要素ごとの乗算を行いたい場合にも、あなたの例ではtf.matmul代わりのtf.mulをしたいです。

+0

ありがとうございます。ちなみに、私は間違った言葉を入力します。 tf.mul(a、tf.expand_dims(b、1))ではなく、 "tf.matmul(a、tf.expand_dims(b、1))"です。あなたが正しいです。 – zeekzhen

関連する問題