突然发现tensorflow的tf.matmul()只能进行矩阵之间相乘,不能进行矩阵和向量相乘!例如:
Ws = tf.get_variable('Ws', [hidden_size])
bias_s = tf.get_variable('bs', [1])
score_tensor = tf.matmul(hidden, Ws) + bias_s
会报错:
ValueError: Shape must be rank 2 but is rank 1 for ‘Model/MatMul_1’ (op: ‘MatMul’) with input shapes: [640,15], [15].
解决方法 :
先点乘再求和,因为tf.mul()是可以broadcast的。
代码:
u=tf.reshape(np.arange(