Итак, я хочу умножить матрицу на матрицу. Когда я пробую массив с матрицей, это работает:
import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
curr_y = sess.run(y, feed_dict={x: [[1,2,3],[0,4,5]]})
print curr_y
Итак, массив имеет размер пакета 2 и форму 3x1. Итак, я могу умножить матрицу формы 3x3 на массив 3x1.
Но когда у меня снова есть матрица формы 3x3, но на этот раз матрица, а не массив формы 3x2, с размером пакета 2, это не работает.
Но если я попытаюсь умножить матрицу на матрицу. Это не работает.
import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 3,3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
curr_y = sess.run(y, feed_dict={x: [[[1,2,3],[1,2,3]],[[1,1,4],[0,4,5]]]})
print curr_y
ValueError: Форма должна иметь ранг 2, но имеет ранг 3 для 'MatMul' (op:
'MatMul') с входными формами: [?,3,3], [3,3].
########EDIT
Извините, что я хочу do — это сопоставить матрицу с пакетом матриц или массивов. Так что я не хочу этого делать
y = tf.matmul(x, W)
вообще-то я хочу сделать
y = tf.matmul(W, x)
Подробнее: https://stackoverflow.com/questions/477 ... iplication