我对Tensorflow真是个好消息。我已经搜索了相同的问题,但我听不懂。有代码。希望您能帮助我。
码:
import tensorflow as tf
w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2 = tf.Variable(tf.random_normal([3,3],stddev=1,seed=1))
x = tf.constant([0.7,0.9])
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
sess = tf.Session()
sess.run(w1.initializer)
sess.run(w2.initializer)
print(sess.run(y))
sess.close()
Run Code Online (Sandbox Code Playgroud)
小智 6
常量的形状x是(2,),即一个一维数组,您试图将它与一个w1形状为 的二维数组相乘(2, 3),这对于矩阵乘法是不可能的,因为第一个参数的列数必须等于第二个参数中的行。另外,我认为tf.matmul只有在两个数组都是二维的情况下才有效。
其中的很多方法可以改变你的声明x为
x = tf.constant([[0.7], [0.9]])
这将创建一个形状为 (2, 1) 的二维常数张量。然后乘以它,
a = tf.matmul(tf.transpose(x), w1)
tf.transpose() 用于创建形状为 (2, 1) 的数组 x 到形状 (1, 2) 的转置。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
6616 次 |
| 最近记录: |